3

ButtonWPFアプリを使用していますがImage、完全に入力したいと思いButtonます。現在、私は次のコードを持っていますが、それは埋められませんButton

<Image x:Key="MyResource" Source="Images/up-arrow-icon.jpg" Margin="0" />

<telerik:RadButton  Height="25" Width="40" HorizontalAlignment="Left" Margin="417,10,0,0" 
                    Name="radButton1" VerticalAlignment="Top" Click="UpButtonClick">
    <telerik:RadButton.Content>
        <StaticResource ResourceKey="MyResource"/>
    </telerik:RadButton.Content>
</telerik:RadButton>

Image外側のWPFのサイズを変更してから使用する必要がありますか?

4

4 に答える 4

8

をに変更してみImageImageBrush、それを画像に割り当てるとBackGround、ボタンの内面に広がります。

<Window x:Class="WpfApplication1.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>
        <ImageBrush x:Key="MyResource" ImageSource="C:\temp\test.jpg" />
    </Window.Resources>
    <Grid>
        <Button Height="25" Background="{StaticResource MyResource}" Width="40" HorizontalAlignment="Left" Margin="417,10,0,0" VerticalAlignment="Top"/>
    </Grid>
</Window>

または、ボタンコンテンツにTextBlockを追加し、画像をBackGroundとして割り当てます。

<Window.Resources>
    <ImageBrush x:Key="MyResource" ImageSource="C:\temp\test.jpg" />
</Window.Resources>
<Grid>
    <Button Height="25"  Width="40" HorizontalAlignment="Left" Margin="417,10,0,0" VerticalAlignment="Top">
        <Button.Content>
            <TextBlock HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="34" Height="19" Margin="0">
                <TextBlock.Background>
                    <StaticResource ResourceKey="MyResource"/>
                </TextBlock.Background>
            </TextBlock>
        </Button.Content>
    </Button>
</Grid>
于 2013-01-01T01:58:39.100 に答える
2

の設定HorizontalContentAlignmentVerticalContentAlignmentプロパティ: ButtonStretch

<telerik:RadButton  Height="25" Width="40" 
      HorizontalContentAlignment="Stretch"  //this
      VerticalContentAlignment="Stretch"    //and this
       Margin="417,10,0,0" 
                   Name="radButton1" VerticalAlignment="Top" Click="UpButtonClick">
    <telerik:RadButton.Content>
        <StaticResource ResourceKey="MyResource"/>
    </telerik:RadButton.Content>
</telerik:RadButton>         

詳細については、この質問このリンクを参照してください

于 2013-01-01T06:28:39.067 に答える
1

HorizontalAlignmentVerticalAlignmenttoStretchDocktoを設定してみてくださいFill

于 2013-01-01T00:04:48.750 に答える
0

Gridこのスクリーンショットに示すように、右側の更新ボタンを水平コンテナに合わせる必要があるため、Button.Backgroundを使用したソリューションは垂直方向でのみ機能しました(ボタンは3ピクセル幅の垂直スライスとして表示されました)。:

ここに画像の説明を入力してください

だから、私はプロパティにバインドするWidthことになりActualHeight、すべてが私に似合っています:

<Button Name="RefreshButton"
    Width="{Binding ElementName=RefreshButton,Path=ActualHeight}"
    Margin="3"
    Padding="3"
    VerticalAlignment="Stretch"
    HorizontalAlignment="Right"
    HorizontalContentAlignment="Stretch"
    VerticalContentAlignment="Stretch"
    >
<Button.Background>
    <ImageBrush ImageSource="{StaticResource ICON_Refresh}"/>
</Button.Background>
</Button>

私が使用したリソースはICOファイルであるため、画像はさまざまなサイズで見栄えがよく、画像処理は非常に高速である必要があります...

于 2018-10-31T23:27:40.823 に答える