139

画像があり、境界線のないボタンを作成しようとしています.Firefoxのツールバーボタンのように、カーソルを合わせて完全なボタンが表示されるようにします.

を、に設定してみましたがBorderBrush、も試しましたが、まだボタンの輪郭が見えます。TransparentBorderThickness0BorderBrush="{x:Null}"

4

8 に答える 8

271

これを試して

<Button BorderThickness="0"  
    Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" >...
于 2010-06-02T11:38:11.913 に答える
58

ボタンテンプレートを変更する必要がある場合があります。これにより、フレームがまったくないボタンが表示されますが、押したり無効にしたりする効果もありません。

    <Style x:Key="TransparentStyle" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border Background="Transparent">
                        <ContentPresenter/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

そしてボタン:

<Button Style="{StaticResource TransparentStyle}"/>
于 2012-07-17T07:12:54.023 に答える
27

あなたがしなければならないことは、次のようなものです:

<Button Name="MyFlatImageButton"
        Background="Transparent"
        BorderBrush="Transparent"
        BorderThickness="0" 
        Padding="-4">
   <Image Source="MyImage.png"/>
</Button>

これがあなたが探していたものであることを願っています。

編集:申し訳ありませんが、画像の上にカーソルを置いたときにボタンの境界線を表示したい場合は、Padding="-4"をスキップするだけです。

于 2010-07-24T23:21:50.220 に答える
23

この質問がこの質問と重複していることを他の人が指摘していない理由はわかりませ

ControlTemplateここで解決策を引用します。次のをオーバーライドする必要がありますButton

<Button Content="save" Name="btnSaveEditedText" 
                Background="Transparent" 
                Foreground="White" 
                FontFamily="Tw Cen MT Condensed" 
                FontSize="30" 
                Margin="-280,0,0,10"
                Width="60"
                BorderBrush="Transparent"
                BorderThickness="0">
    <Button.Template>
        <ControlTemplate TargetType="Button">
             <ContentPresenter Content="{TemplateBinding Content}"/>
        </ControlTemplate>
    </Button.Template>  
</Button>
于 2010-12-27T16:32:38.513 に答える
4

次のように、ボタンの代わりにハイパーリンクを使用できます。

        <TextBlock>
            <Hyperlink TextDecorations="{x:Null}">
            <Image Width="16"
                   Height="16"
                   Margin="3"
                   Source="/YourProjectName;component/Images/close-small.png" />
            </Hyperlink>
        </TextBlock>
于 2010-11-25T07:47:47.797 に答える
2

ボタンをツールバー内に配置するとこの動作が得られることは既にご存知かもしれませんが、現在のすべてのテーマで何らかの予測可能性を備えたものが必要な場合は、新しいControlTemplateを作成する必要があります。

Prashantのソリューションは、ボタンにフォーカスがある場合、ツールバーにないボタンでは機能しません。また、XPのデフォルトのテーマでは100%機能しません。コンテナの背景が白の場合でも、かすかな灰色の境界線が表示されます。

于 2009-06-15T19:52:12.813 に答える