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

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

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

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

XAML

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

Q&A

解決済

1回答

1150閲覧

C# Gird内のTextbox要素にプロパティを一括指定したい

hir0ki

総合スコア15

C#

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

XAML

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

0グッド

0クリップ

投稿2020/08/21 02:25

前提・実現したいこと

※C#初心者です。言い回し等不適切かもしれません…

タイトルの件について質問です。
下部に記載のソースコードについて、Textbox要素にプロパティを一括で指定したいです。

Textboxが(載せていない分も合わせると)30個ほど必要になります。
それぞれにプロパティを書いていると、変更・追加などしたいときの修正が大変なので、一括で設定できれば、と思うのですが、これは可能でしょうか。

例えば、
Margin="5" ---> Margin="10"
Text="" ---> Text="ここへ入力"
など

継承すれば一括ですべての変更が可能(?)なようですが、具体的なやり方を教えていただきたいです。

文字列の置換をすればよいとかそういう話ではなく、継承してみたい…です。
初心者ですが、何卒よろしくお願いいたします。

該当のソースコード

行列数が多く、数字がそろっていなかったりしますが、諸事情で(わざと)そうしているので大目に見てください…。

xaml

1<Window x:Class="<プロジェクト名>.MainWindow" 2 xmlns= ~ 3 (略) 4 Title="MainWindow" Height="450" Width="800" 5 FontSize="15"> 6 7 <Grid> 8 <Grid> 9 <Grid.RowDefinitions> 10 <RowDefinition Height="20"/> 11 <RowDefinition Height="20"/> 12 <RowDefinition /> 13 <RowDefinition /> 14 <RowDefinition /> 15 <RowDefinition /> 16 <RowDefinition /> 17 </Grid.RowDefinitions> 18 19 <Grid.ColumnDefinitions> 20 <ColumnDefinition /> 21 <ColumnDefinition /> 22 <ColumnDefinition /> 23 <ColumnDefinition /> 24 <ColumnDefinition /> 25 <ColumnDefinition /> 26 <ColumnDefinition /> 27 </Grid.ColumnDefinitions> 28 29 <TextBox Name="textbox1_1" Grid.Row="2" Grid.Column="0" Margin="5" Text="" /> 30 <TextBox Name="textbox1_2" Grid.Row="2" Grid.Column="1" Margin="5" Text="" /> 31 <TextBox Name="textbox1_3" Grid.Row="2" Grid.Column="2" Margin="5" Text="" /> 32 <TextBox Name="textbox1_4" Grid.Row="2" Grid.Column="3" Margin="5" Text="" /> 33 <TextBox Name="textbox1_5" Grid.Row="2" Grid.Column="4" Margin="5" Text="" /> 34 <TextBox Name="textbox1_6" Grid.Row="2" Grid.Column="5" Margin="5" Text="" /> 35 <TextBox Name="textbox1_7" Grid.Row="2" Grid.Column="6" Margin="5" Text="" /> 36 </Grid> 37 </Grid> 38</Window>

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

環境は

Visual Studio 2019
WPF App. (.NET Core)

です。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Styleを設定すれば一括で変更できます

xaml

1 <Grid> 2 <Grid.Resources> 3       <!-- TextBoxにデフォルトのStyleを設定 --> 4 <Style TargetType="TextBox"> 5 <Setter Property="Text" Value="ここへ入力"/> 6 <Setter Property="Margin" Value="10"/> 7 </Style> 8 </Grid.Resources> 9 10 11 <Grid> 12 <Grid.RowDefinitions> 13 <RowDefinition Height="20"/> 14 <RowDefinition Height="20"/> 15 <RowDefinition /> 16              : 

とすると、

xaml

1 2<TextBox Name="textbox1_1" Grid.Row="2" Grid.Column="0" /> 3<TextBox Name="textbox1_2" Grid.Row="2" Grid.Column="1"/> 4<TextBox Name="textbox1_3" Grid.Row="2" Grid.Column="2" Margin="5" Text="" /> 5<TextBox Name="textbox1_4" Grid.Row="2" Grid.Column="3" Margin="5" Text="" />

textbox1_1、textbox1_2:
⇒Styleで設定したText、Marginが設定

textbox1_3、textbox1_4:
⇒個別に設定した値でStyleの設定が上書き

となります

投稿2020/08/21 03:20

ebiryo

総合スコア797

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

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

hir0ki

2020/08/21 04:23

できました!!感謝です(人''▽`)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問