簡體   English   中英

如何更改所有按鈕的屬性

[英]How to change properties of all buttons

我正在一個C#WPF項目(VS 2010)中工作,該項目具有各種形式的一些按鈕,並希望為所有這些按鈕設置一些公共屬性(例如:粗體文本,懸停時更改顏色)。 但是,我可以從“屬性”選項卡設置屬性,並使用以下代碼一個一個地懸停行為。

private void btnOne_MouseHover(object sender, EventArgs e)
{           
    (sender as Button).BackColor = Color.Orange;
}

 private void btnTwo_MouseLeave(object sender, EventArgs e)
 {         
     (sender as Button).BackColor = Color.LightGray;
 }

有沒有辦法從一個地方更改所有按鈕的屬性? 有可用的例子嗎?

在WPF中,您可以在XAML中進行操作。

    <Style TargetType="{x:Type Button}">
        <Setter Property="Background" Value="Orange"/>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="LightGray"/>
            </Trigger>
        </Style.Triggers>
    </Style>

我對WPF的體驗並不完美,但是您可以將MouseHover和MouseLeave設置為XAML樣式嗎(我不是像在手機上那樣在IDE中從頭開始編寫此代碼的,所以可能並不完全正確):

<Style x:Key="MyStyle" TargetType="Button">
    <Setter Property="Background" Value="GRAY_COLOUR" />
        <Style.Triggers>
          <Trigger Property="IsMouseOver" Value="True">
              <Setter Property="Background" Value="ORANGE_COLOUR" />
          </Trigger>
        </Style.Triggers>
</Style>

用該顏色的十六進制值替換GRAY_COLOURORANGE_COLOUR或將它們定義為靜態資源。 然后將該樣式分配給所有適用的按鈕:

<Button Style="{StaticResource MyStyle}" />

暫無
暫無

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

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