【发布时间】:2013-06-26 20:28:59
【问题描述】:
我有一个带有UniformGrid 布局的ListBox,我正在尝试更改“列”属性,但我不知道最好的方法。我尝试绑定到属性或以编程方式创建新布局,但我无法弄清楚。
<ListBox x:Name="ImagesList" ItemsSource="{Binding Path=GridImages}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" Columns="3" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
当用户单击两个按钮时,我正在尝试在 1 列和 3 列之间进行更改。我尝试与Columns="{Binding Path=MyColumnCount}" 绑定,但它从未改变,并尝试设置x:Name 并从我的代码访问,但没有成功。我还尝试实例化一个新的UniformGrid,但我已经读到我需要一个工厂,所以我不能设置不同的Columns 值。
【问题讨论】:
-
你尝试过什么?请提供更多代码。
-
何时需要更改列数?您的代码中应该触发什么?
-
@newStackExchangeInstance 我已经用更多信息更新了这个问题。你需要实际的代码吗?我上班的时候可以拿到。
-
@Sphinxxx 我在用户点击某些按钮时触发。我已经用更多细节更新了这个问题。谢谢!
-
MyColumnCount 属性的代码是什么?
标签: c# wpf listbox wpf-controls