ListView.GridViewColumn (*) 宽度
Posted
技术标签:
【中文标题】ListView.GridViewColumn (*) 宽度【英文标题】:ListView.GridViewColumn (*) width 【发布时间】:2012-05-05 18:12:58 【问题描述】:我在 WPF 应用程序中使用 ListView
控件而不是 DataGrid
。我想给我的ListView.GridViewColumn
提供*
宽度,但是每当我向ListView.GridViewColumn
提供*
宽度时,它都会给我一个编译时错误。请建议我如何将*
宽度提供给ListView.GridViewColumn
,以便ListView.GridViewColumn
在我最大化屏幕时自动填充额外的空间。
对此的任何帮助将不胜感激。谢谢
【问题讨论】:
【参考方案1】:请尝试该解决方案:
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="column1" x:Name="col1"/>
<!--Column that shall resize: Width is set to the Actual Width of the helper field defined below-->
<GridViewColumn Header="column2"
Width="Binding ElementName=helperField, Path=ActualWidth"/>
</GridView>
</ListView.View>
Test Text
</ListView>
<!--This is the hidden helper Grid which does the resizing -->
<Grid Visibility="Hidden">
<Grid.ColumnDefinitions>
<!--Width is bound to width of the first GridViewColumn -->
<ColumnDefinition Width="Binding ElementName=col1, Path=ActualWidth"/>
<!--Width is set to "Fill"-->
<ColumnDefinition Width="*"/>
<!--Correction Width-->
<ColumnDefinition Width="10"/>
</Grid.ColumnDefinitions>
<!--This is the hidden helper Field which is used to bind to, using the "Fill" column of the helper grid-->
<Grid Grid.Column="1" x:Name="helperField"/>
</Grid>
您还可以在以下链接中找到其他解决方案:
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/3ee5696c-4f26-4e30-8891-0e2f95d69623/
【讨论】:
感谢 Bilal Hashmi。但是在上面的 xaml 方法中,我应该将我在这里发布了我的方法,这有点不同(但发现它非常可靠并且允许百分比宽度列https://***.com/a/10526024/41211),因为我尝试了上述方法并发现我的 devenv.exe 处理按原样最大化不断尝试使用上述动态绑定重新评估我的设计器视图。
【讨论】:
以上是关于ListView.GridViewColumn (*) 宽度的主要内容,如果未能解决你的问题,请参考以下文章