我想为WPF对象的单个内容或标头追加两个静态字符串。
<MenuItem Header="{x:Static properties:Resources.SEARCH_FOR_DAYS} + {x:Static properties:Resources.ELLIPSES}" />
我尝试过ContentStringFormat之类的格式,但无法让它接受两个资源。
qf9go6mv1#
<MenuItem> <MenuItem.Header> <StackPanel Orientation="Horizontal"> <TextBlock Text="{x:Static properties:Resources.SEARCH_FOR_DAYS}" /> <TextBlock Text="{x:Static properties:Resources.ELLIPSES}" /> </StackPanel> </MenuItem.Header> </MenuItem>
或者(更接近您的要求):
<MenuItem> <MenuItem.Header> <MultiBinding StringFormat="{}{0}{1}"> <Binding Path="{x:Static properties:Resources.SEARCH_FOR_DAYS}"/> <Binding Path="{x:Static properties:Resources.ELLIPSES}"/> </MultiBinding> </MenuItem.Header> </MenuItem>
zengzsys2#
在我的脑海里,你也许可以做:
<MenuItem> <MenuItem.Header> <TextBlock> <Run Text="{x:Static properties:Resources.SEARCH_FOR_DAYS}" /> <Run Text="{x:Static properties:Resources.ELLIPSES}" /> </TextBlock> </MenuItem.Header> </MenuItem>
vxf3dgd43#
在以下代码中禁用MenuItem时:
<MenuItem IsEnabled="False"> <MenuItem.Header> <StackPanel Orientation="Horizontal"> <TextBlock Text="{x:Static properties:Resources.SEARCH_FOR_DAYS}" /> <TextBlock Text="{x:Static properties:Resources.ELLIPSES}" /> </StackPanel> </MenuItem.Header> </MenuItem>
文本不会变成灰色。但是如果你在另一个代码中做同样的事情:
<MenuItem IsEnabled="False"> <MenuItem.Header> <StackPanel Orientation="Horizontal"> <Label Padding="0" Content="{x:Static properties:Resources.SEARCH_FOR_DAYS}" /> <Label Padding="0" Content="{x:Static properties:Resources.ELLIPSES}" /> </StackPanel> </MenuItem.Header> </MenuItem>
“启用”和“禁用”对文本颜色的作用与预期相同
3条答案
按热度按时间qf9go6mv1#
或者(更接近您的要求):
zengzsys2#
在我的脑海里,你也许可以做:
vxf3dgd43#
在以下代码中禁用MenuItem时:
文本不会变成灰色。
但是如果你在另一个代码中做同样的事情:
“启用”和“禁用”对文本颜色的作用与预期相同