簡體   English   中英

WPF按鈕圖標以編程方式更改

[英]WPF button icon change programmatically

我想以編程方式更改以下按鈕的圖標

<Button x:Name="btnSendInvite" Height="32" Background="Transparent" BorderBrush="Transparent"
    BorderThickness="0" Cursor="Hand" Margin="1,5" ToolTip="Call" Click="btnSendInvite_Click" >
                    <Button.Template>
                        <ControlTemplate TargetType="Button">

                                <DockPanel>
                                    <DockPanel.Background>
                                        <ImageBrush ImageSource="Resources/button.png" />
                                    </DockPanel.Background>
                                    <StackPanel Orientation="Horizontal">
                                        <Image Source="Resources/dial.png" Height="30" Margin="14,0"></Image>
                                    </StackPanel>
                                </DockPanel>

                        </ControlTemplate>
                    </Button.Template>
                    <Button.Style>
                        <Style TargetType="Button">
                            <Style.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter Property="Background" Value="Black"/>
                                    <Setter Property="Foreground" Value="White"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </Button.Style>
                </Button>

需要將dial.png圖標更改為hangup.png 在C#中怎么可能

如果絕對必須使用代碼來更改圖像,則應將數據綁定到Image.Source屬性,然后更改數據綁定的圖像路徑:

<StackPanel Orientation="Horizontal">
    <Image Source="{Binding ImageSource}" Height="30" Margin="14,0" />
</StackPanel>

您的新屬性的默認值是Resources/dial.png ,您可以像這樣更改它:

ImageSource = "Resources/hangup.png";

當然,您的ImageSource屬性必須將此更改通知INotifyPropertyChanged接口 ,以便UI可以更新Image 但是,必須說在XAML中使用TriggerDataTrigger更改Image.Source將是更好的解決方案。

暫無
暫無

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

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