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

2024-04-09

我在网格分割器方面遇到了困难。我已经绑定了RowDefinition.Height模型的 clr 属性的依赖属性,如下所示。




    <Grid.RowDefinitions>
        <RowDefinition Height='{Binding Path=Height, Mode=OneWay}' />
        <RowDefinition Height='*' />
    </Grid.RowDefinitions>

  

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

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


我认为问题在于你的源属性Height是 double 类型并且RowDefinition.Height属于类型GridLength。使用转换器,它可以双向工作

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

双网格长度转换器

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;
    }
}

Update
在这里上传了我的示例应用程序:http://www.mediafire.com/download.php?pgibb205d65596q http://www.mediafire.com/download.php?pgibb205d65596q

Set the RowDefinition.Height通过在较低的值中输入一个值TextBox并调整大小RowDefinition.HeightGridSplitter

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wpf GridSplitter 替换 row.height 属性上的绑定 的相关文章

  • 如何在 Oxyplot 中显示折线图的绘图点?

    这是我的图表的 xaml 代码
  • 如何(完全)在列表框中实现就地编辑?

    我正在构建一个应用程序 其中ListBox正在显示Description其项目的属性 我想实现与您在 Windows 资源管理器中编辑文件名时发现的相同类型的就地编辑功能 但我发现这需要大量工作 到目前为止我所拥有的是ContextMenu
  • Relay/ICommand 与 DelegateCommand——差异

    据我所知 下面的代码可以从 Relay ICommand 命令更改为 Delegate 命令 并且仍然以相同的方式绑定命令 如果我错了 它们的区别和用途是什么 private DelegateCommand something public
  • WPF:使用 StringFormat={}{0:F2} 进行文本框绑定。不显示零

    我使用以下 XAML 将对象绑定到 TextBox
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 如何使用 WPF 从 XML 文件创建树视图?

    这是 XML 文件
  • WPF 中列表框的数据验证

    我有一个 ListBox 绑定到类型 T 的 ObservableCollection 每个 ListBoxItem 都是一个复选框 IsChecked 绑定到 T 中的 bool 属性 我想验证 ListBox 中的选中项 以便至少必须选
  • 在包含按钮的ListView中,如何获取单击按钮的索引?

    我有一个ListView仅包含按钮 我想做的很简单 我想要获得已单击按钮的索引 列表的计数从0到100不等 因此当用户单击按钮6时 我需要这个数字进行处理 我定义了我的ListView像这样
  • 如何使用 MVVM 打开和关闭新 Windows?

    对于 MVVM 和 WPF 什么是处理打开和关闭新窗口和对话框的好 直接方法 打开和关闭应该由 ViewModel 驱动 对吗 但 ViewModel 不应该知道视图 我通常为此使用接口 例如 如果我想在单独的窗口中编辑记录 我有一个接口
  • 增加 WPF 弹出动画的持续时间

    我有一个 WPF PopUp 控件 用于显示菜单叠加层 并且使用默认的淡入淡出动画 不过我想让动画需要更长的时间才能完成 我可以在 XAML 中做到这一点吗 你能在这里发布相关的xaml代码吗 否则 您可以查看这些链接以开始使用 xaml
  • 如何将 WPF 窗口置于前面?

    我创建了一个单实例应用程序 并且希望在用户多次启动该应用程序时激活已打开的窗口 这工作正常 但我有一个问题 如果已经打开的窗口超出了另一个应用程序窗口 我必须将其放在前面 我尝试过 window Focus 和 window Show 但它
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 如何更改 OxyPlot Y 轴字符串格式?

    谁能告诉我如何更改 Y 轴字符串格式 我想向 Y 轴百分比添加百分号 我正在使用 OxyPlot 在 wpf 中生成图表 这是我的尝试 但它不起作用 Func
  • 如何使用 ObjectDataProvider 将枚举绑定到 XAML 中的 ComboBox

    我正在尝试绑定一个Enum to a ComboBox 我见过很多人使用ObjectDataProvider但我似乎无法访问它 我还注意到有些人在一段时间内使用它Window Resources 而不是Page Resources但我找不到
  • 如何在 wpf 应用程序的代码隐藏中创建集合视图源

    我有以下代码 public partial class MainWindow Window public MainWindow InitializeComponent var entities new DemoEntities var de
  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 绑定导致 StackOverflow

    我不确定我在这里做错了什么 可以说 我有两个用户控件BoxAand BoxB 两者都有一个名为的 DependencyPropertyText BoxB 包装了具有常规 TextBox 的 BoxA 绑定应该像这样 BoxB Text Bo
  • 异步WCF调用来保存线程?

    In 另一个问题 https stackoverflow com q 19731600 279516 建议我发送异步网络请求 而不是在后台线程上发送同步请求 原因是为了不浪费一根线 我试图理解这是怎么回事 这是最初的做法 我可以理解这里怎么

随机推荐