【问题标题】:ComboBox writing Words in a TXTComboBox 在 TXT 中写入单词
【发布时间】:2016-10-13 22:32:12
【问题描述】:

让我告诉你我的代码中有什么:

public List<String> listQuality = new List<string>();
public int qualityChoose;

InitializeComponent();

listQuality.Add("Fastest");
listQuality.Add("Fast");
listQuality.Add("Simple");
listQuality.Add("Good");
listQuality.Add("Beautiful");
listQuality.Add("Fantastic");

foreach (String item in listQuality)
{
    listQualityy.Items.Add(item);
}

string textWriteQuality;
textWriteQuality = "-screen-quality " + qualityChoose + Environment.NewLine;

File.AppendAllText(@"./arguments.txt", textWriteQuality);

但是 ofc 它不起作用,我认为问题在于“init”,但我不确定我是否会编码这是我的第一个程序(是的,我再重复一遍 xd)

我已经跳过了一些对这个问题没用的其他代码 - 我认为 -

【问题讨论】:

  • 您是否收到任何错误或异常?
  • 为什么是这个代码? foreach (listQuality 中的字符串项) { listQualityy.Items.Add(item); }
  • “它不起作用”是什么意思?什么是“qualityChoose”设置?如果向 ComboBox 添加项目是一个问题 - 请参阅:stackoverflow.com/questions/11878217/…
  • 感谢您的所有回复,我的意思是“它不起作用”而不是写“最快”或“快速”等,而是写 0

标签: c# wpf combobox


【解决方案1】:

你的问题不是很容易理解,顺便说一句,你可以做类似这个例子的事情

xaml:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedItem="{Binding qualityChoose}">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Item2}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

        <Button Grid.Row="1" Content="Save" Click="Button_Click"/>

    </Grid>

代码隐藏:

public List<Tuple<int, String>> listQuality { get; set; }
        public Tuple<int, String> qualityChoose { get; set; }

        public MainWindow()
        {
            InitializeComponent();
            listQuality = new List<Tuple<int, string>>();
            listQuality.Add(new Tuple<int, string>(0, "Fastest"));
            listQuality.Add(new Tuple<int, string>(1, "Fast"));
            listQuality.Add(new Tuple<int, string>(2, "Simple"));
            listQuality.Add(new Tuple<int, string>(3, "Good"));
            listQuality.Add(new Tuple<int, string>(4, "Beautiful"));
            listQuality.Add(new Tuple<int, string>(5, "Fantastic"));

            this.DataContext = this;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            int quality = qualityChoose.Item1;
        }

当您点击 qualityChoose.Item1 中的“保存”按钮时,您的价值就体现出来了

编辑

而不是使用元组,您可以在问题中使用 List,像这样修改 xaml:

...
<ComboBox Grid.Row="0" ItemsSource="{Binding listQuality}" SelectedIndex="{Binding selIndex}">
...

并在代码隐藏中添加“selIndex”属性:

public int selIndex { get; set; }

在这个属性中有被选中字符串的索引。 这更容易,但你无法决定品质的价值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-25
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多