我知道这已被问了好几次,但无论我读了多少个教程,我都无法理解它。我有一个有三个ColumnDefinitions的网格,可以通过两个GridSplitter调整大小。我想要的是它下面的另一个网格,有三个ColumnDefinitions,当顶部网格被调整大小时(与iTunes一样的程序中的UI非常相似),调整大小。我想单独的网格的原因是因为最终,每个网格将是它自己的对象,并将需要拖放属性。这里是我写的Xaml,如果有人想看看我在看什么。WPF基本绑定
<Canvas Width="400" Height="15" Background="AntiqueWhite">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="400" Name='Maingrid'>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" MinWidth="50"/>
<ColumnDefinition Width="116" MinWidth="50"/>
<ColumnDefinition Width="144" MinWidth="50"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15"/>
</Grid.RowDefinitions>
<GridSplitter Grid.Column="0"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
Background="Black"
ShowsPreview="True"
Width="2"
/>
<GridSplitter Grid.Column="1"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
Background="Black"
ShowsPreview="True"
Width="2"
/>
<TextBlock Text="Song" Grid.Column="0" Width="30"/>
<TextBlock Text="Song" Grid.Column="1" Width="30"/>
<TextBlock Text="Song" Grid.Column="2" Width="30"/>
</Grid>
</Canvas>
<Canvas Width="400" Height="15" Background="RosyBrown" Margin="58,168,59,138">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="400">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="140" MinWidth="50"/>
<ColumnDefinition Width="116" MinWidth="50"/>
<ColumnDefinition Width="144" MinWidth="50"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="15"/>
</Grid.RowDefinitions>
<TextBlock Text="Song" Grid.Column="0" Width="30"/>
<TextBlock Text="Song" Grid.Column="1" Width="30"/>
<TextBlock Text="Song" Grid.Column="2" Width="30"/>
</Grid>
</Canvas>
而且作为最后一点,我已经看了无穷无尽的教程和指南的数据绑定和我17岁的大脑似乎无法环绕它我的头。如果我能够理解如何将文本块绑定到我的C#代码隐藏中的变量(又名:不在代码隐藏中设置文本块的文本属性,而只是更改字符串的内容),我就能够变得如此之多更高效。谢谢任何能够帮助我的人,我知道这个问题已经被问了一百万次。
你问这里的两个问题,@ hosch250已经回答了第一个,虽然我已经(也许是不好)回答第二 – paul 2014-10-08 15:55:06
别担心,我花了几天(超过一周?)来理解数据绑定,但是当我理解它时,它实现得非常快。一旦你理解了单向绑定,玩了一段时间的双向绑定,学习转换器,你会很好。 – Hosch250 2014-10-08 15:56:56