質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

3回答

8583閲覧

WPF(XAML)で画像のボタンを実装したい

piero

総合スコア17

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2016/12/28 00:10

イメージ説明
このようなボタンをXAMLで実装したいのですが、全く見当もつきません。
指定したキーワードによって青色の部分の色を変更したいです。
どうやれば実装できるでしょうか。
また、スタイルのみの指定で行けますかね?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

こんな感じに作る。配置するボタンの数が少ないならコピペで、大量なら、DataTempleteにしてリソースに入れて使う。

<Button Width="150"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="20"></ColumnDefinition> <ColumnDefinition Width="auto"></ColumnDefinition> </Grid.ColumnDefinitions> <Border Margin="2" Background="AliceBlue" Grid.Column="0"></Border> <TextBlock Text="ぼたん" Grid.Column="1"></TextBlock> </Grid> </Button>

投稿2016/12/28 02:40

kiichi54321

総合スコア1984

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Style で使えるようにしてみました。
青色の部分の色は Background プロパティで変更できます。

XAML

1<Window x:Class="WpfApplication1.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="MainWindow" Height="350" Width="525"> 5 <Window.Resources> 6 <Style x:Key="buttonStyle" TargetType="{x:Type Button}"> 7 <Setter Property="Padding" Value="2,2,6,2" /> 8 <Setter Property="Background" Value="SkyBlue" /> 9 <Setter Property="BorderBrush" Value="Lime" /> 10 <Setter Property="BorderThickness" Value="2" /> 11 <Setter Property="Template"> 12 <Setter.Value> 13 <ControlTemplate TargetType="{x:Type Button}"> 14 <Border x:Name="border" 15 BorderBrush="{TemplateBinding BorderBrush}" 16 BorderThickness="{TemplateBinding BorderThickness}" 17 Background="Transparent" 18 Padding="{TemplateBinding Padding}"> 19 <DockPanel> 20 <Rectangle DockPanel.Dock="Left" Fill="{TemplateBinding Background}" Width="6" Margin="6,2" /> 21 <ContentPresenter /> 22 </DockPanel> 23 </Border> 24 <ControlTemplate.Triggers> 25 <Trigger Property="IsMouseOver" Value="True"> 26 <Setter TargetName="border" Property="Background" Value="Lime" /> 27 </Trigger> 28 <Trigger Property="IsPressed" Value="True"> 29 <Setter TargetName="border" Property="Background" Value="Green" /> 30 </Trigger> 31 <Trigger Property="IsEnabled" Value="False"> 32 <Setter Property="Background" Value="LightGray" /> 33 <Setter Property="Foreground" Value="LightGray" /> 34 <Setter Property="BorderBrush" Value="LightGray" /> 35 </Trigger> 36 </ControlTemplate.Triggers> 37 </ControlTemplate> 38 </Setter.Value> 39 </Setter> 40 </Style> 41 </Window.Resources> 42 43 <StackPanel VerticalAlignment="Center"> 44 <Button Style="{StaticResource buttonStyle}" Content="Click me." HorizontalAlignment="Center" Margin="20" /> 45 <Button Style="{StaticResource buttonStyle}" Content="Click me." HorizontalAlignment="Center" Background="Red" Margin="20" /> 46 <Button Style="{StaticResource buttonStyle}" Content="Click me." HorizontalAlignment="Center" IsEnabled="False" /> 47 </StackPanel> 48</Window>

投稿2016/12/28 03:43

twyujiro15

総合スコア217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Buttonの中にGridか何かおいて、
その中にRectangleとLabel(かなにかテキスト書けるもの)おいて
Rectangleの色を適当にバインドか何かで変えられるようにしてスタイル整えればできそうです。

投稿2016/12/28 00:23

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問