簡體   English   中英

使用按鈕模板的按鈕內文本框的動態屬性

[英]Dynamic property of a text box within a button using a button template

我有幾個按鈕要設置在C# WPF,我喜歡用按鈕模板。

我可以設置模板,然后在我的網格中使用它,但是如何更改每個按鈕的文本框文本以及矩形顏色等其他屬性?

這是我的模板:

<Window.Resources>
 <ControlTemplate x:Key="menuButton_Type1" TargetType="Button">
  <Grid >
   <Rectangle x:Name="Normal" Fill="#FFFDC776" HorizontalAlignment="Left" Height="25" Width="82" RadiusX="7" RadiusY="7"/>
   <Rectangle x:Name="Pressed" Fill="White" HorizontalAlignment="Left" Height="25" Width="82" RadiusX="7" RadiusY="7" Visibility="Hidden"/>
   <Rectangle x:Name="Disable" Fill="#FF707070" HorizontalAlignment="Left" Height="25" Width="82" RadiusX="7" RadiusY="7" Visibility="Hidden"/>
   <Border Width="82" Height="25" Padding="0,0,5,0">
    <TextBlock Text="EXIT" FontFamily="{StaticResource Swiss911}" FontSize="18" HorizontalAlignment="Right" VerticalAlignment="Bottom" />
   </Border>
  </Grid>
  <ControlTemplate.Triggers>
   <Trigger Property="IsMouseOver" Value="True">
    <Setter TargetName="Normal" Property="Visibility" Value="Hidden" />
    <Setter TargetName="Pressed" Property="Visibility" Value="Visible" />
   </Trigger>
   <Trigger Property="IsEnabled" Value="False">
    <Setter TargetName="Normal" Property="Visibility" Value="Hidden" />
    <Setter TargetName="Disable" Property="Visibility" Value="Visible" />
   </Trigger>
  </ControlTemplate.Triggers>
 </ControlTemplate>
</Window.Resources>

我在我的 XAML 網格中使用模板按鈕,如下所示:

<Grid>
 <Button Template="{StaticResource menuButton_Type1}" Margin="18,226,-18,-226" />
</Grid>

我想更改當前設置為“EXIT”的TextBlock的文本以及其中一個矩形的顏色,在本例中為普通矩形。 我該怎么做呢?

我嘗試使用動態屬性,但這對我不起作用。

我在這些頁面上找到了您的答案:

您可以簡單地將綁定到 ControlTemplate 上 TextBlock 的 Text 屬性。

您應該將按鈕的Content屬性添加到 TextBlock 的文本屬性:

     <TextBlock Text="{TemplateBinding Content}" FontFamily="{StaticResource Swiss911}" FontSize="18" HorizontalAlignment="Right" VerticalAlignment="Bottom" />

然后您可以設置 Button 的內容屬性,Button 的Content屬性將傳遞給您的TextBlockText屬性。

     <Button Template="{StaticResource menuButton_Type1}" Content="Exit"  Margin="100" />

我測試了這些按鈕

    <Button Template="{StaticResource menuButton_Type1}" Content="Exit"  Margin="0,0,0,0" />
    <Button Template="{StaticResource menuButton_Type1}" Content="Close"  Margin="100,0,0,0" />
    <Button Template="{StaticResource menuButton_Type1}" Content="Open"  Margin="200,0,0,0" />

暫無
暫無

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

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