在 WPF 的视图-模型-视图模型模式下,我尝试对网格控件的各种定义的高度和宽度进行数据绑定,以便我可以存储用户在使用 GridSplitter 后设置的值。然而,正常模式似乎不适用于这些特定属性。
注意:我将此作为参考问题发布,因为谷歌未能满足我的要求,我必须自己解决这个问题。我自己的答案如下。
创建一个IValueConverter
如下:
public class GridLengthConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
double val = (double)value;
GridLength gridLength = new GridLength(val);
return gridLength;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
GridLength val = (GridLength)value;
return val.Value;
}
}
然后,您可以在绑定中使用转换器:
<UserControl.Resources>
<local:GridLengthConverter x:Key="gridLengthConverter" />
</UserControl.Resources>
...
<ColumnDefinition Width="{Binding Path=LeftPanelWidth,
Mode=TwoWay,
Converter={StaticResource gridLengthConverter}}" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)