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

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

解決済

1回答

2190閲覧

WPFでボタン内のテキスト周りの余白を変更したいです

raku3023

総合スコア1

C#

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

XAML

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

WPF

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

1グッド

0クリップ

投稿2023/01/24 07:28

前提

WPFを使ってアプリを作っています。
MaterialDesignThemesを追加して見た目を変えたのですが、Button内のテキスト周りの余白が広すぎて困っています。

実現したいこと

Buttonテキストの周りの余白を狭くしたい

該当のソースコード

Style BasedOn="{StaticResource MaterialDesignRaisedButton}" TargetType="{x:Type Button}"> <Setter Property="FontWeight" Value="Normal" /> </Style>

試したこと

同様に文字の太さが気になったのでそこは上記のコードで修正しました。
おそらくテキスト周りの余白も同じ様に変更するのかとは思いますがその変え方がわかりません。

補足情報(FW/ツールのバージョンなど)

Visual Studio Express 2017 Desktop

TN8001👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

WPFでボタン内のテキスト周りの余白を変更したいです

余白はPaddingです。
Control.Padding プロパティ (System.Windows.Controls) | Microsoft Learn

同様に文字の太さが気になったのでそこは上記のコードで修正しました。

こちらの手元では差がわかりませんでした。

おそらくテキスト周りの余白も同じ様に変更するのかとは思いますがその変え方がわかりません。

結局ソースを見るしかないと思います。
MaterialDesignInXamlToolkit/MaterialDesignTheme.Button.xaml | MaterialDesignInXAML/MaterialDesignInXamlToolkit

今回はPaddingを変えるだけで済みましたが、場合によってはTemplateに直書きされていたりするかもしれません(そうなると大掛かりなことになります)

xml

1<Window 2 x:Class="Q37fpqan86zpx64.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 SizeToContent="WidthAndHeight"> 6 <Window.Resources> 7 <Style 8 x:Key="NormalWeight" 9 BasedOn="{StaticResource MaterialDesignRaisedButton}" 10 TargetType="{x:Type Button}"> 11 <Setter Property="FontWeight" Value="Normal" /> 12 </Style> 13 14 <Style 15 x:Key="NarrowPadding" 16 BasedOn="{StaticResource MaterialDesignRaisedButton}" 17 TargetType="{x:Type Button}"> 18 <Setter Property="Padding" Value="8,4" /> 19 </Style> 20 </Window.Resources> 21 22 <StackPanel> 23 <Button 24 Margin="10" 25 HorizontalAlignment="Center" 26 Content="default ぼたん" /> 27 28 <Button 29 Margin="10" 30 HorizontalAlignment="Center" 31 Content="FontWeight Normal ぼたん" 32 Style="{StaticResource NormalWeight}" /> 33 34 <Button 35 Margin="10" 36 HorizontalAlignment="Center" 37 Content="Narrow Padding ぼたん" 38 Style="{StaticResource NarrowPadding}" /> 39 </StackPanel> 40</Window>

アプリ画像


Button内のテキスト周りの余白が広すぎて困っています。

(広いのは広いですが)困るほど広いですか?
全体で統一されたデザインでしょうから、あまり神経質になると結局すべて変えることになりそうです^^;
そういうもんだと受け入れたほうが幸せかもしれません(でも紫お前はダメだw

投稿2023/01/24 10:01

TN8001

総合スコア9321

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

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

TN8001

2023/01/24 12:29 編集

> こちらの手元では差がわかりませんでした。 フォントのせいか目のせいかわたしには差がわからなかったですが、MediumはNormalより太いんですね^^; [FontWeights クラス (System.Windows) | Microsoft Learn](https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.fontweights) [MaterialDesignInXamlToolkit/MaterialDesignTheme.Button.xaml | MaterialDesignInXAML/MaterialDesignInXamlToolkit](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/blob/2a38b2c70a5e851bc5b926e0641c1848e719d86b/MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Button.xaml#L120)
raku3023

2023/01/25 00:01

ありがとうございます!!解決することができました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問