gpt4 book ai didi

Wpf GridSplitter 替换 row.height 属性上的绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 05:58:08 25 4
gpt4 key购买 nike

我很难使用网格拆分器。我绑定(bind)了RowDefinition.Height模型的 clr 属性的依赖属性,如下所示。



<行定义高度='*'/>


这工作正常,直到 GridSplitter用来。当使用 GridSplitter 手动更改行高时,它用新的固定大小替换绑定(bind)(并删除绑定(bind))。

您是否有任何想法或解决方法如何创建两行可以使用 GridSplitter 调整大小但仍根据 clr 属性/绑定(bind)更改它们的高度?

最佳答案

我认为问题在于您的源属性 Height是 double 类型和 RowDefinition.HeightGridLength 类型.使用转换器,它会双向工作

<Grid.RowDefinitions>
<RowDefinition Height="{Binding Path=Height,
Mode=TwoWay,
Converter={StaticResource DoubleGridLengthConverter}}"/>
<!--...-->
</Grid.RowDefinitions>

DoubleGridLength 转换器
public class DoubleGridLengthConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return new GridLength((double)value);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
GridLength gridLength = (GridLength)value;
return gridLength.Value;
}
}

更新
在此处上传了我的示例应用程序: http://www.mediafire.com/download.php?pgibb205d65596q

设置 RowDefinition.Height通过在下 TextBox 中输入一个值并调整 RowDefinition.Height 的大小与 GridSplitter

关于Wpf GridSplitter 替换 row.height 属性上的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com