如何在WPF(MVVM)中绑定数据网格列的宽度

路加福音101

我试图绑定一个datagrid列的宽度,但不起作用。

<DataGridTextColumn Binding="{Binding Name}" Width="{Binding GridNameWidth}" Header="Name" />

这是后端代码:

public int GridNameWidth
{
    get
    {
        return 300;
    }
}

永远不会触碰到后端代码。没有错误,但name字段具有默认宽度。我想使宽度绑定到我的财产。我不需要双向绑定,只需要在网格加载时绑定宽度即可。在wpf中这可能吗?

瑞秋

DataGridTextColumn是一个抽象对象,实际上不是VisualTree的一部分,因此它没有像其他控件那样使用继承的DataContext。

WPF知道如何Binding正确解析诸如属性之类的内容,并将绑定转移到每个Cell,但是诸如Width之类的内容只是按原样进行评估,并且由于DataContext和VisualTree都不存在,因此评估不正确。

常见的解决方案是改为使用静态数据源编写绑定。这是基于此答案的示例,示例使用x:Reference引用XAML标记中的另一个控件:

{Binding Source={x:Reference MyDataGrid}, Path=DataContext.NameColumnWidth}

或者,您可以DataGridCellTemplate使用控件定义自己的控件,该控件的Width绑定到DataItem上的任何属性

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在WPF MVVM中进行数据绑定

来自分类Dev

如何使用MVVM模式在WPF数据网格中绑定CurrentCell

来自分类Dev

WPF MVVM Checkbox stop命令在绑定数据时触发

来自分类Dev

将网格宽度绑定到数据网格宽度wpf

来自分类Dev

使用MVVM WPF进行数据网格绑定

来自分类Dev

如何在JavaFX单元中绑定数据

来自分类Dev

MVVM WPF中的数据绑定

来自分类Dev

如何在资源字典中绑定数据模板

来自分类Dev

如何在datagridview组合框列中绑定数据

来自分类Dev

如何在MVVM模式wpf中绑定StrokeDashArray属性

来自分类Dev

如何在MVVM中的WPF数据网格中显示数据

来自分类Dev

如何在Kotlin MVVM数据绑定中解析Json

来自分类Dev

如何在C#中绑定到网格ColumnDefinition宽度

来自分类Dev

如何在jQuery中绑定数据ID而不是ID

来自分类Dev

如何在WPF MVVM中进行数据绑定

来自分类Dev

如何在数据网格中绑定内部网格?

来自分类Dev

WPF MVVM数据绑定

来自分类Dev

如何在ListBox中水平显示绑定数据

来自分类Dev

MVVM中的WPF-TreeView数据绑定

来自分类Dev

如何在WPF中设置数据绑定

来自分类Dev

MVVM WPF中的数据绑定

来自分类Dev

如何在ng-repeater中重新绑定数据

来自分类Dev

数据绑定数据网格

来自分类Dev

如何在View中绑定数据

来自分类Dev

WPF:绑定数据网格标题宽度

来自分类Dev

数据网格 mvvm wpf 中的 IsEnabled 按钮

来自分类Dev

如何在wpf中数据网格的右侧添加按钮列

来自分类Dev

如何在 textarea ExtJS 中绑定数据

来自分类Dev

如何在绑定数据网格视图时向数据网格视图添加行