gpt4 book ai didi

wpf - 在 DataTemplate 中绑定(bind) Grid.Row/Grid.Column

转载 作者:行者123 更新时间:2023-12-03 20:22:00 25 4
gpt4 key购买 nike

希望这不是骗局。

我希望能够在 XAML 中执行以下操作:

<DataTemplate DataType="{x:Type TestApp:ButtonVM}">        
<Button
Grid.Column="{Binding GridColumn}"
Grid.Row="{Binding GridRow}"
Content="{Binding Path=Info}"
/>
</DataTemplate>

内容绑定(bind)工作正常,但生成的对象中根本不存在 Grid.Column 和 Grid.Row。即使我在没有绑定(bind)的情况下将它们设置为某个值(例如在 Grid.Column="1"中)。我窥探了应用程序,发现在我的网格中没有人设置 Grid.Column 和 Grid.Row。

有任何想法吗?

最佳答案

在博客的帮助下自己解决了这个问题。

据我了解,您根本无法在内部进行附加属性绑定(bind)。

下面瞬间解决问题(ItemContainerStyle!):

<DataTemplate DataType="{x:Type TestApp:GridVM}">
<ItemsControl ItemsSource="{Binding Path=Children}">
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value="{Binding GridRow}" />
<Setter Property="Grid.Column" Value="{Binding GridColumn}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid ShowGridLines="True" Style="{Binding Path=Style}">
<Grid.RowDefinitions>
<RowDefinition Height=".5*" />
<RowDefinition Height=".5*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".5*" />
<ColumnDefinition Width=".5*" />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>

关于wpf - 在 DataTemplate 中绑定(bind) Grid.Row/Grid.Column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2432847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com