在开始时获得控制性能,那里有XAML代码:从代码Grid.Resources背后
<Grid.Resources>
<DataTemplate x:Name="dataTemp" x:Key="dtKey">
<WrapPanel Orientation="Horizontal" Name="mainWP">
<TextBlock Name="codeTB" FontSize="18" Width="200" Text="{Binding barcode}"></TextBlock>
(...)
</WrapPanel>
</DataTemplate>
</Grid.Resources>
和ListView用的DataTemplate:
<ListView Name="testLV" Grid.Row="0" ItemTemplate="{StaticResource ResourceKey=dtKey}" >
</ListView>
因此,在后面的代码我想改变TextBlock的宽度this.width/5(becouse宽度可以在另一台PC上不同),但becouse它的DataTemplate我没有获得这种控制。 我也试过WIDTH = “{绑定路径= ActualWidth的,的ElementName = grid0}”,但实际宽度我需要像ActualWidth的/ 5,这不工作
感谢
那么假设你在'Grid'使用'DataTemplate',你为什么不只是设置你的'Grid.ColumnDefinitions'因此有宽度,说:“0.2 *“使用该”DataTemplate“,然后从”Datatemplate“中全部删除固定宽度的规格。 'TryFindResource(...)'的使用会让你的代码变得简陋,并在以后给你更多的问题。您也可以使用转换器来执行“ActualWidth/5”,但不要。以正确的方式使用WPF(限制“魔术数字”固定大小规格),并且您将有更好的体验来构建您的应用程序。 – Viv
嗯,但使用DataTemplate中的列表视图,生病编辑的第一篇文章,并显示该IM – user13657
不知道如果我明白你的意思吧:) 在DataTemplate中我有5周的TextBlocks wrappanel。所以现在我需要将Listview放入列 - 确定。但是如何处理WrapPanel中的所有控件?我只是想将整个宽度分成5个控件(TextBlocks),它们都在Wrappanel中。 – user13657