Eri*_*let 4 c# wpf binding string-formatting
我的所有6个样本在它们的绑定中都有"StringFormat"但没有应用,我只获得没有任何格式化的值.
知道我做错了吗?
<MenuItem Header="{Binding SeriesNearMouse.Count, StringFormat='Series {0}'}">
</MenuItem>
<MenuItem DataContext="SeriesNearMouse">
<MenuItem.Header>
<Binding Path="Count"
StringFormat="Series{0:D}test">
</Binding>
</MenuItem.Header>
</MenuItem>
<MenuItem>
<MenuItem.Header>
<Binding Path="SeriesNearMouse.Count"
StringFormat="Series{0}">
</Binding>
</MenuItem.Header>
</MenuItem>
<MenuItem Header="{Binding SeriesNearMouse.Count, StringFormat='{}Series {0}'}">
</MenuItem>
<MenuItem DataContext="SeriesNearMouse">
<MenuItem.Header>
<Binding Path="Count"
StringFormat="{}Series{0:D}test">
</Binding>
</MenuItem.Header>
</MenuItem>
<MenuItem>
<MenuItem.Header>
<Binding Path="SeriesNearMouse.Count"
StringFormat="{}Series{0}">
</Binding>
</MenuItem.Header>
</MenuItem>
Run Code Online (Sandbox Code Playgroud)
Ere*_*mez 14
最后的回答
Header不是字符串属性.它实际上是一个以a表示的对象属性ContentPresenter.为了将字符串格式传递给ContentPresenter,MenuItem提供了一个HeaderStringFormat属性:
<MenuItem Header="{Binding SeriesNearMouse.Count}" HeaderStringFormat="Series {0}">
Run Code Online (Sandbox Code Playgroud)
小智 9
由于MenuItem.Header是一个对象而不是一个字符串,因此可能无法按预期工作.
这样的东西应该有效,因为Run.Text是一个字符串:
<MenuItem>
<MenuItem.Header>
<Run Text="{Binding SeriesNearMouse.Count, StringFormat='Series {0}', Mode=OneWay}" />
</MenuItem.Header>
</MenuItem>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2299 次 |
| 最近记录: |