[英]How to bold & add “*” to TextBlock when Tab Can be saved
我有代表文档的标签,就像在Word中一样。 我的TabControl
绑定到ObservableCollection<TabViewModel>
。 TabViewModel
有一个属性CanSave
指示文件是否可以保存。 当可以保存它时,我想将其加粗并以“ *”作为前缀。 我怎样才能做到这一点? 我认为我需要1使CanSave
一个DependencyProperty
。 并添加一个触发器。 但是前缀“ *”呢?
您不需要创建DependencyProperty
; 您只需要实现INotifyPropertyChanged
。
您可以使用触发器将属性绑定到单独的<TextBlock>*</TextBlock>
的“ Visibility
”,以及标题的权重。
一个简单的(可能很难看,但绝对可以工作):
void CanSave(....)
{
bool canSave = GetValueBlahBlah();
if (tb.IsVisible != canSave)
tb.Visibility = canSave ? Visibility.Visible : Visibility.Collapsed;
}
tb
表示您要根据CanSave状态显示和隐藏的TextBlock。
你也可能想创建一个DependencyProperty如你所说,并设置TextBlock
S(你将不得不使用的星级单独的TextBlock -或使用Run
,这种是在WPF绑定4+) Visibility
/ FontWeight
根据通过它DataTrigger
秒。
您还可以通过绑定设置选项卡的标题。
<TabControl >
<TabItem >
<TabItem.Header>
<TextBlock Text="{Binding TabTitle1}" />
<TabItem.Header>
</TabControl>
然后在数据模型上设置标题
Tab1Title="* " + "some nice tab title";
您还可以使用绑定将字体设置为粗体。
FontWeight="{Binding Tab1FontWeight}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.