簡體   English   中英

標簽可以保存時如何加粗並在文本塊上添加“ *”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM