gpt4 book ai didi

wpf - 绑定(bind) StringFormat 似乎无法正常工作

转载 作者:行者123 更新时间:2023-12-04 12:02:09 24 4
gpt4 key购买 nike

我有一个 DataGrid 和一个像这样的扩展器:

<StackPanel>
<my:DataGrid Name="dataGrid1" AutoGenerateColumns="False" ItemsSource="{Binding}">...</my:DataGrid>
<Expander Header="{Binding ElementName=dataGrid1, Path=SelectedItem.Name, StringFormat=Details of {0}}">...</Expander>
</StackPanel>

绑定(bind)很好,但由于某种原因,字符串格式不起作用。它始终只显示值 dataGrid1.SelectedItem.Name
我也试过:
StringFormat=Details of \{0\}

这是行不通的。

我什至尝试将 Expander 的 HeaderStringFormat 属性设置为“{0} 的详细信息”,但这也没有对其进行格式化。

不过,我能够使这种解决方法起作用:
<Expander>
<Expander.Header>
<TextBox Text="{Binding ElementName=dataGrid1, Path=SelectedItem.Name, StringFormat=Details of {0}}"></TextBox>
</Expander.Header>
</Expander>

有谁知道为什么 StringFormat 不适用于 Header 属性?

最佳答案

根据http://codingcontext.wordpress.com/2008/11/17/headerformatstring-and-contentformatstring/ ,它看起来像 HeaderStringFormat属性并不意味着与字符串格式绑定(bind)一起使用,而是指定在绑定(bind)到实现 IFormattable 的对象时使用的格式。 .

鉴于此,我也无法让字符串格式直接在绑定(bind)表达式中工作,所以这可能只是一个错误。您应该尝试通知 Microsoft,也许他们会修复它。

使用您的解决方法,我建议使用 TextBlock而不是 TextBox ,因为您可能不希望用户能够编辑 Expander 中的文本标题。

关于wpf - 绑定(bind) StringFormat 似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740925/

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