にして複数の方法を組み合わせてしまう私は実質的に同じことを行う15個のフィールドを持っているはどのように私は1つの方法
private void SaveMessage(string textboxMessageText, int seconds, int messagenumber)
{
var msg = _configman.MyConfig.MessageConfigs.FirstOrDefault(x => x.MessageNumber == messagenumber);
if (msg == null)
{
var msgconfig = new MessageConfig();
msgconfig.Seconds = seconds;
msgconfig.Command = textboxMessageText;
}
else
{
msg.MessageNumber = messagenumber;
msg.Command = textboxMessageText;
msg.Seconds = seconds;
}
_configman.SaveConfig();
}
マイ形式:
<CheckBox x:Name="CheckBoxMessage1" Content="" HorizontalAlignment="Left" Margin="29,23,0,0" VerticalAlignment="Top" Width="15"/>
<TextBox x:Name="TextboxMessage1" Height="23" Margin="49,19,158,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" TextChanged="TextboxMessage1_TextChanged"/>
<Button x:Name="ButtonMessage1" Content="Disabled" HorizontalAlignment="Left" Margin="689,20,0,0" VerticalAlignment="Top" Width="75" Background="#FFFB8686" Click="ButtonMessage1_Click"/>
<CheckBox x:Name="CheckBoxMessage2" Content="" HorizontalAlignment="Left" Margin="29,48,0,0" VerticalAlignment="Top" Width="15"/>
<TextBox x:Name="TextboxMessage2" Height="23" Margin="49,44,158,0" TextWrapping="Wrap" VerticalAlignment="Top" TextChanged="TextboxMessage2_TextChanged"/>
<Button x:Name="ButtonMessage2" Content="Disabled" HorizontalAlignment="Left" Margin="689,45,0,0" VerticalAlignment="Top" Width="75" Background="#FFFB8686"/>
<CheckBox x:Name="CheckBoxMessage3" Content="" HorizontalAlignment="Left" Margin="29,72,0,0" VerticalAlignment="Top" Width="15"/>
<TextBox x:Name="TextboxMessage3" Height="23" Margin="49,68,158,0" TextWrapping="Wrap" VerticalAlignment="Top" TextChanged="TextboxMessage3_TextChanged"/>
<Button x:Name="ButtonMessage3" Content="Disabled" HorizontalAlignment="Left" Margin="689,69,0,0" VerticalAlignment="Top" Width="75" Background="#FFFB8686"/>
TextChangedにすべてのテキストボックスをカバーする方法があるので、各テキストボックスにTextChangedを作成する必要はありませんか?
彼らはなどTextboxMessage1、TextboxMessage1、
として1-15の番号が付けられ、これは可能ですか?もしそうなら、どうすればいいのですか?
これは、人々がMVVMを使用する理由です。この種のことは、MVVMでは非常に簡単になります。 MVVMを学び、StackPanelやグリッドレイアウト、Stylesなどの適切なXAMLテクニックを学ぶならば、人生はずっと簡単になり、コードははるかに簡単で読みやすくなります。 ItemsControlによって15回インスタンス化された1つのUserControlまたはDataTemplateが必要です。しかし、これは少し学習曲線です。あなたが出発するのが遠すぎる場合は、以下の両方の回答が良いアイデアを持っています。 –