ボタンに画像/アイコンとテキストを表示するにはどうすればよいですか?
<StackPanel Name="stackPanel" Orientation="Horizontal" Tapped="stackPanel_Tapped">
<Button x:Name="button" FontFamily="Segoe MDL2 Assets" Content="" Width="50" Height="50" Background="Transparent" />
<TextBlock Text="Grades" FontSize="18" VerticalAlignment="Center" />
</StackPanel>
スタックパネルにTaplistenerを追加できますが、スタックパネルに実際のボタンのような視覚効果はありません。
私も試しました:
<Button FontFamily="Segoe MDL2 Assets" Width="50" Height="50" x:Name="button" Content="test">
<Image x:Name="button" Source="Assets/test.png" />
</Button>
ただし、コンテンツを2回設定することはできません。テキストとアイコンの両方をボタンに入れたいので、ユーザーがクリックすると、ボタンのような視覚効果が得られます。これは可能ですか?または、他の誰かがこれを達成する別の方法を持っていますか?
読んでくれてありがとう。
そのため、直接の重複を見つけることができなかったので(これが以前に尋ねられた種類の質問であると断言できます)、私は正当な答えを提供すると思います。
ボタンのテンプレートの中心にはContentPresenter
があり、これを使用して任意のCLRオブジェクトを渡すことができます。ただし、通過できるのは1つだけということです。ただし、そのオブジェクトが子を含むことができるパネルである場合、コンテンツとしてすべてが渡されます。
したがって、このインスタンスでこのようにすると、次のようになります。
<Button>
<Image/>
<TextBlock/>
</Button>
次に失敗し、一度に1つのオブジェクトしか許可されないというメッセージが表示されます。
それらの子を保持する親パネルを提供する場合を除いて、それはすべてをコンテンツとして尊重し、例として望ましい結果を提供します。
<Button>
<StackPanel>
<Image/>
<TextBlock/>
</StackPanel>
</Button>
したがって、StackPanel
は子をホストできるCLRオブジェクトなので、準備は完了です。よろしくお願いいたします。