3

私は次のToggleButtonように定義しています:

<ToggleButton Name="tbPinned"  Grid.Row="0" Grid.Column="3" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="1,0,0,-5" Height="30" Width="30" IsChecked="True" Checked="tbPinned_Checked" Unchecked="tbPinned_Unchecked" >
            <Image Source="/some_image.png" Stretch="Fill" />
         </ToggleButton>

ただし、ボタンの画像ではなく、ボタンを画像にしたいだけです。通常のタグを使用している場合は、開始タグのButtonようにします。しかし、これはうまくいきません。Style="{DynamicResource NoChromeButton}"ToggleButton

で全体を模倣するにはどうすればよいNoChromeButtonですToggleButtonか?

Button編集:私が通常の sでそれを行う方法を含めるように編集されました:

<Button Style="{DynamicResource NoChromeButton}" Height="17" Margin="0,0,30,0" Name="btnMinimize" VerticalAlignment="Top" Grid.Column="1" Click="btnMinimize_Click" HorizontalAlignment="Right" Width="27" Padding="0" Visibility="Visible">
            <Image Source="/some_image.png" Stretch="None"  />
        </Button>
4

2 に答える 2

9

これをコピーして新しい WPF プロジェクトに貼り付けるだけです。

   <Window x:Class="SOChromeButton.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style x:Key="Chromeless" TargetType="{x:Type ToggleButton}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ToggleButton">
                        <Border BorderThickness="0" Width="54" Height="54">
                            <ContentPresenter/>
                        </Border>

                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <ToggleButton Style="{StaticResource Chromeless}" Name="tbPinned"  Grid.Row="0" Grid.Column="0" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="10,0,0,0"  IsChecked="True" >
            <Image Source="C:\Temp\info.png"></Image>
        </ToggleButton>
    </Grid> </Window>
于 2013-11-01T14:42:46.530 に答える