0
私は3つのオプションを持つコンボボックスを持っていますeditable
に移動し、Select File
ダイアログボックスを開きます。編集可能なコンボボックスを開き[ファイル]ダイアログ
ただし、[OK]を押すと、選択したファイルは、myComboBox.Text = selectFile.FileName
を使用して、ComboBoxの編集可能なテキストボックスに表示されません。
テキストをテキストボックスに表示させるにはどうすればよいですか?
XAML
<ComboBox x:Name="myComboBox"
Margin="0,164,14,0"
VerticalAlignment="Top"
HorizontalAlignment="Right"
Width="103"
IsTextSearchEnabled="False"
SelectionChanged="myComboBox_SelectionChanged">
<System:String>off</System:String>
<System:String>auto</System:String>
<System:String>select</System:String>
</ComboBox>
C#
private void myComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if ((string)myComboBox.SelectedItem == "select")
{
myComboBox.IsEditable = true;
// Open 'Select File'
Microsoft.Win32.OpenFileDialog selectFile = new Microsoft.Win32.OpenFileDialog();
selectFile.RestoreDirectory = true;
Nullable<bool> result = selectFile.ShowDialog();
// Process dialog box
if (result == true)
{
myComboBox.Text = selectFile.FileName;
}
}
else if ((string)myComboBox.SelectedItem != "select"
&& !string.IsNullOrEmpty((string)myComboBox.SelectedItem))
{
myComboBox.IsEditable = false;
}
}
"select"という項目を選択するだけで、入力できる空のテキストボックスに変更されますが、空のテキストボックスを 'selectFile .Filename'。 –
はい。 "SelectedItem"ステートメントはこれを実行します。 – AQuirky
私はおそらくこの方法を使用しますが、私はコンボボックスに別のオプションを追加しないようにしたいと思います。 –