簡體   English   中英

在運行時更改XAML ControlTemplate子元素屬性

[英]Change XAML ControlTemplate Child Elements Attributes during Runtime

我有這個:

<ControlTemplate TargetType="Window">
    <TextBlock x:Name="tbFoo" Text="LOREM IPSUM" />
</ControlTemplate>

有沒有辦法在運行時更改tbFoo的文本?

選項1:

將屬性綁定到TemplatedParent某些屬性:

<ControlTemplate TargetType="Window">
    <TextBlock x:Name="tbFoo" Text="{TemplateBinding Title}" />
</ControlTemplate>

然后:

<Window Title="My Window"/>

將導致tbFoo具有“我的窗口”文本。

選項2:使用Triggers

<ControlTemplate TargetType="Window">
    <TextBlock x:Name="tbFoo"/>

    <ControlTemplate.Triggers>
       <Trigger Property="IsActive" Value="True">
          <Setter TargetName="tbFoo" Property="Text" Value="Window is Active!"/>
       </Trigger>
       <Trigger Property="IsActive" Value="False">
          <Setter TargetName="tbFoo" Property="Text" Value="Window is Inactive!"/>
       </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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