0

こんにちは、私は mvvm を使用しています...私はコンボボックスを持っています。ここに xaml コードがあります

 <ComboBox Grid.Column="4" Grid.Row="3" Height="23" SelectedValue="{Binding Path=Percentage, Mode=TwoWay}"  SelectedValuePath="Percentage" HorizontalAlignment="Left" Margin="18,7,0,0" Name="comboBox1" VerticalAlignment="Top" Width="144">
                <ComboBoxItem Content="12"></ComboBoxItem>
                <ComboBoxItem Content="13"></ComboBoxItem>
                <ComboBoxItem Content="14"></ComboBoxItem>
                <ComboBoxItem Content="15"></ComboBoxItem>
                <ComboBoxItem Content="16"></ComboBoxItem>
                <ComboBoxItem Content="17"></ComboBoxItem>
                <ComboBoxItem Content="18"></ComboBoxItem>
                <ComboBoxItem Content="19"></ComboBoxItem>
                <ComboBoxItem Content="20"></ComboBoxItem>
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="SelectionChanged">
                        <i:InvokeCommandAction Command="{Binding PercentageChangedCommand}"
                                       CommandParameter="{Binding Percentage, ElementName=comboBox1}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </ComboBox>

コンボボックスのメソッドに選択した値にアクセスしているときは、表示されるだけです

system.windows.Controls.comboboxitem:12

それはその値を設定しません..助けてください

4

1 に答える 1

1
  1. 上記のコード スニペットを使用する場合、コンボ ボックス内のアイテムは ComboBoxItem であり、これが Percentage のセッターで取得する理由です。
  2. まずは取り外しSelectedValuePath="Percentage"
  3. すべての ComboBoxItem 宣言を削除し、ViewModel から次のプロパティを公開してバインドしてみてくださいItemsSource={Binding Items}

    public List<int> Items { get { return Enumerable.Range(1, 100).ToList(); } }

  4. 勝つ!:)
于 2013-10-01T09:09:26.263 に答える