我试图创建一个带有两个窗格的网格,在它们之间有一个网格分割器,用户可以在运行时重新定位。我还想绑定一个代表两个窗格比例的变量。我尝试过以下XAML:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我有以下转换器:
<local:CustomConverter x:Key="splitPositionConverter2"/>
<StackPanel Margin="10">
<TextBox Name="txtValue" />
<Grid x:Name="splitViewGrid" Height="400">
<Grid.RowDefinitions>
<!--The top panel height is bound to the SplitPosition property. -->
<RowDefinition Height="{Binding ElementName=txtValue, Path=Text, Mode=TwoWay, Converter={StaticResource splitPositionConverter2}}"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="Red"/>
<GridSplitter Grid.Row="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ResizeDirection="Rows"
Height="15"/>
<Grid Grid.Row="2" Background="Blue"/>
</Grid>
</StackPanel>
因此,值2应该使红色块的高度为蓝色块的两倍。从数据到高度的转换似乎有效,但ConvertBack给了我一些奇怪的值。一个小的轻推将给我一个260 *左右的ConvertBack值。
我是否错误地解释了这个值,或者有更简单的方法吗?