UWP로 작업한다는 것은 항상 DIP 값을 사용할 수 없다는 것을 의미합니다. 나는 내 문제를 다음과 같이 좁혔다."auto"값으로 높이에 바인딩하는 방법
너비와 너비가 "자동"인 다른 요소에 높이와 너비를 바인딩 할 수있는 방법은 무엇인가?
샘플 :
<Grid.RowDefinitions>
<RowDefinition x:Name="CardGriddRow1" Height="2*" />
<RowDefinition x:Name="CardGrdidRow2" Height="1*" />
</Grid.RowDefinitions>
<Rectangle Name="Rec1" Fill="Blue" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="auto" Height="auto" Grid.Row="1" Margin="20" />
<Rectangle Name="Rec2" Fill="Yellow" Grid.Row="0" Height="{x:Bind Rec1.ActualHeight, Mode=OneWay }" Width="{x:Bind Rec1.ActualWidth, Mode=OneWay }" HorizontalAlignment="Left" VerticalAlignment="Top" />
의 ActualHeight를 사용하여, 나는 단지 한방향 모드를 사용할 수 있습니다. 높이 값은 NaN입니다. Rec2의 값은 0이지만 Rec1의 ActualHeight는 0보다 큽니다.
바인딩을 사용하여 ActualHeight을 강제 적용 할 방법이 있습니까?
당신이, 당신은이 작업을 수행 할 수 있어야 이유에 대한 자세한 정보를 제공 할 수 있습니까? (높이와 너비를 다른 요소의 너비와 높이로 설정하지 않고 xaml을 설정하는 방법이있을 수 있습니다.) – jsmyth886
@ jsmyth886 나는 간단한 카드 게임을 만들고 있습니다. 샘플 사진 (간단한 자리 표시 자) : [링크] (https://drive.google.com/file/d/1dFW9zu1vYKXr_Fo2FuKnNyUcOcAAO3Rh/view) 하단 행에는 그리드에 8 개의 카드가 있습니다. 화면의 전체 너비. 좁은 화면 인 경우이 카드는 다른 행 위의 한 행 위에 두 줄로 표시 될 수 있습니다. 이것은 VisualStateManager에 의해 처리됩니다. 상단 중앙에는 하단 카드와 크기가 같은 두 개의 카드 팩이 있습니다. XAML에서만이 작업을 수행하려고하지만 바인딩이 제대로 작동하지 않습니다. 나는 기대하고 있었다, 나는 무엇인가 놓치고있다. – MadMaxIV