1

ObservableCollectionに文字列のリストがあり、それをデータグリッド、リストボックス、またはリスト内のアイテムにダブルクリックイベントを追加できるものにバインドしたいと思います。わからない場合は、WPFは初めてです!!!

コード:

    private ObservableCollection<string> _searchResults;
    public ObservableCollection<string> SearchResults
    {
        get { return _searchResults; }
        set
        {
            _searchResults = value;
            OnPropertyChanged("SearchResults");
        }
    }

<Grid>
    <DataGrid AutoGenerateColumns="False"
              Name="MyGrid"
              Height="400"
              Width="400"
              ItemsSource="{Binding SearchResults}"
              SelectedItem="{Binding MySelectedItemProperty, UpdateSourceTrigger=PropertyChanged}"/>

</Grid>

ちなみに、私もCaliburn.Microを使用しています

4

1 に答える 1

2

ビューでは、データグリッドに対して次のようなことを行います。

<DataGrid AutoGenerateColumns="False" Name="MyGrid" 
  ItemsSource="{Binding MyListofStrings}"
  SelectedItem="{Binding MySelectedItemProperty, UpdateSourceTrigger=PropertyChanged}"
              CommandHelper:MouseDoubleClick.Command="{Binding MyEditCommand}">

次に、ビューモデルで:

         private ObservableCollection<MyStrings> _MyListofStrings;
        public ObservableCollection<MyStrings> MyListofStrings
        {
            get { return _MyListofStrings; }
            set
            {
                  _MyListofStrings = value;
                OnPropertyChanged("MyListofStrings");       //Used for 2 way binding.
            }
        }

次に、「MyListofStrings」にデータ型を入力します。

于 2012-08-13T19:12:39.457 に答える