画像とテキストブロックをコンテンツとして持つボタンを作成したかったのです。そこで、答えを探して、ユーザーコントロールを作成するように指示する投稿(ボタンの再利用可能なカスタムコンテンツ)を見つけました。
私はこれをしました、そしてそれは素晴らしい働きをします。依存関係のプロパティを使用して、画像のソースとテキストを設定できます。ただし、コントロールのクリックイベントがないため、スタックしています。
もう少し掘り下げて、Buttonから派生したCustomControlがおそらく必要であると結論付けました。これは正しいです?または、クリックイベントをUserControlに接続する方がよいでしょうか。
これが私のUserControlです。
<UserControl x:Class="Client.Usercontrols.MyButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" MinHeight="30" MinWidth="40"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Button Width="Auto" HorizontalAlignment="Center">
<Border CornerRadius="5" BorderThickness="1" BorderBrush="Transparent" >
<Grid>
<Image Name="tehImage" Source="{Binding ImageSource}" />
<TextBlock Name="tehText" Text="{Binding Text}"
Style="{DynamicResource ButtonText}" />
</Grid>
</Border>
</Button>
</UserControl>
実装
<my:MyButton ImageSource="../Images/MainSyncButton.png" ImageWidth="141" Text="Synchronise" Click="btnSynchronise_Click" />