이 작업을 간단하게하려면 다음과 같이하십시오. 두 개의 사각형으로 구성된 사용자 정의 컨트롤이 있습니다. 디자인 타임에 컨트롤의 사용자는 사용자 정의 컨트롤의 너비와 사용자 정의 컨트롤의 속성 인 사각형 중 하나의 기본값을 설정합니다. 나는 기본 값을 백분율로 취급하고 사각형 중 하나의 너비를 다른 사각형의 해당 너비로 설정하려고합니다. 내가 가지고있는 어려움의 종류는 다른 모든 사각형을 너비의 백분율로 설정하는 바깥 쪽 사각형의 너비를 얻을 수 없다는 것입니다 (모든 것이 0 또는 NaN 인 것 같기 때문에). 여기에 몇 가지 코드는 다음과 같습니다사용자 정의 컨트롤의 속성 설정에 따라 사용자 정의 컨트롤의 요소 크기를 어떻게 설정합니까?
사용자 제어 : 뒤에
<Grid x:Name="LayoutRoot" Background="White">
<Rectangle x:Name="OuterRectangle" Fill="Red"/>
<Rectangle x:Name="InnerRectangle" Fill="Blue"/>
</Grid>
사용자 제어 코드 :
public partial class ucRectangles : UserControl
{
public Double Percent { get; set; }
public ucRectangles()
{
InitializeComponent();
InnerRectangle.Width = Percent/100 * OuterRectangle.ActualWidth;
}
}
메인 페이지 :
<Grid x:Name="LayoutRoot" VerticalAlignment="Center">
<local:ucRectangles Width="400" Height="40" Percent="50"/>
</Grid>
이 기능은 작동하지만 시작시 한 번만 실행하면됩니다. , 브라우저 크기를 조정할 때마다 또는 (다른 무엇이든지) 핸들러 자체 내에서 핸들러를 분리하지 않습니다. 이 좋은 습관인가? 어떤 의미가 있습니까? – descf
그건 꽤 합법적인데 아무런 의미가 없습니다. 그냥 처리기를 제거하십시오. –