문제

캔버스 내에서 그리드 너비를 100%로 만드는 방법은 무엇입니까?다음은 몇 가지 간단한 XAML이지만 예상대로 작동하지 않습니다.

<Canvas Background="MediumSlateBlue" Width="Auto" Height="Auto" >
    <Grid x:Name="LayoutRoot" MouseMove="MainPage_MouseMove" Background="Beige" >
        <TextBlock x:Name="lblDisplay" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Width="128" Text="asdf" ></TextBlock>
    </Grid>
</Canvas>

내 그리드가 손에 닿을 수 있는 만큼 많은 공간을 차지하지 않는 이유를 이해할 수 없습니다!너비가 100*인 단일 행과 열 정의를 추가하려고 시도했지만 여전히 내 그리드는 포함된 레이블만큼만 공간을 차지합니다.목표는 그리드 하위 항목이 있고 너비와 높이의 100%를 차지하는 캔버스를 갖는 것입니다.브라우저 크기를 조정할 때 크기를 조정하려면 Silverlight가 필요하기 때문에 이는 중요합니다.

도움이 되었습니까?

해결책 2

여기서 해결책을 찾은 것 같습니다.

http://forums.silverlight.net/forums/t/13415.aspx

콘텐츠 크기가 조정될 때마다 그리드 크기가 자동으로 조정되도록 코드를 조정했습니다.이렇게 하면 Canvas.LeftProperty를 사용하여 요소를 절대적으로 배치하고 수평/수직으로 정렬된 요소의 위치를 ​​유지할 수 있습니다.

기본 레이아웃으로 그리드만 사용하는 것을 고려했지만 개체에 애니메이션을 적용해야 하는 경우 여백에 애니메이션을 적용할 수 없습니다.또한 mousemove 이벤트 중에 여백을 Left 및 Top으로 설정해도 내 요소가 커서 위치에 정확하게 배치되지 않았습니다.

다른 팁

캔버스는 절대 포지셔닝을 사용하여 콘텐츠를 제작합니다. 그것은 모든 요소에 상단, 왼쪽, 너비 및 높이가 지정되어 있어야한다는 점에서 Windows 형태가 작동하는 방식과 훨씬 유사합니다.

캔버스를 행/열이 정의되지 않은 그리드로 교체하여 마진을 사용하여 자식 요소를 배치하여 유사한 기능을 달성 할 수 있습니다.

또한 양식이 실제로 Silverlight 애플리케이션을 확장하고 있는지 확인하십시오.

<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="clientbin/MyApp.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="3.0.40818.0" />
      <param name="autoUpgrade" value="true" />
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
      </a>
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top