C# 如何加粗&;加上「*&引用;保存选项卡时文本块的步骤
我有表示文档的选项卡,类似于Word。我的C# 如何加粗&;加上「*&引用;保存选项卡时文本块的步骤,c#,wpf,mvvm,C#,Wpf,Mvvm,我有表示文档的选项卡,类似于Word。我的选项卡控件绑定到一个可观察集合TabViewModel有一个属性CanSave,指示文档是否可以保存。当它可以保存时,我想将其加粗并在其前面加上“*”。我该怎么做?我想我需要先做CanSaveadependencProperty。并添加一个触发器。但是前缀“*”呢 您不需要创建一个dependencProperty;您只需要实现INotifyPropertyChanged 您可以使用触发器将属性绑定到单独的*的可见性,以及标题的权重。一个简单的(可能很难
选项卡控件
绑定到一个可观察集合
TabViewModel
有一个属性CanSave
,指示文档是否可以保存。当它可以保存时,我想将其加粗并在其前面加上“*”。我该怎么做?我想我需要先做CanSave
adependencProperty
。并添加一个触发器。但是前缀“*”呢 您不需要创建一个dependencProperty
;您只需要实现INotifyPropertyChanged
您可以使用触发器将属性绑定到单独的*
的可见性,以及标题的权重。一个简单的(可能很难看,但肯定会起作用):
tb
表示要根据CanSave状态显示和隐藏的文本块
您可能还想创建一个dependencProperty,如您所说,并设置TextBlock
s(您必须为star使用单独的TextBlock,或者使用可在WPF 4+中绑定的Run
s)Visibility
/fontwweight
通过DataTrigger
s根据它进行设置。您还可以通过绑定设置选项卡的标题
<TabControl >
<TabItem >
<TabItem.Header>
<TextBlock Text="{Binding TabTitle1}" />
<TabItem.Header>
</TabControl>
您还可以使用绑定将字体设置为粗体
FontWeight="{Binding Tab1FontWeight}"
如果我想引用XAML中的属性,我不需要使用DependencyProperties吗?不,你不需要。如果要将该属性绑定到某个值(而不是要将其他属性绑定到其值),则只需创建DependencyProperty DependencyObject。DependencyObject实现INotifyPropertyChanged,其核心就是依赖性属性的工作方式—它通过interfaceHmm发送更改通知,代码会是什么样子?对不起,我对更高级的WPF还比较陌生。提前谢谢
Tab1Title="* " + "some nice tab title";
FontWeight="{Binding Tab1FontWeight}"