0

私はWPFにまったく慣れていません。

MVVM パターンで簡単なアプリケーションを作成しています。

モデルが参照されているビューモデルがあります。モデルには、コンボボックスに入れたいいくつかのネットエレメントが含まれています。

ビューモデルの関連部分は次のとおりです。

public class MainWindowVM : ViewModelBase
{
    private Model _model = null;

    public Model Model
    {
        get
        {
            return _model;
        }
    }

    #region ActiveElement

    private NetElement _activeElement = null;

    public NetElement ActiveElement
    {
        get
        {
            return _activeElement;
        }
        set
        {
            if (_activeElement != value)
            {
                _activeElement = value;
                RaisePropertyChanged("ActiveElement");
                if (ActiveElementChanged != null)
                    ActiveElementChanged(this, EventArgs.Empty);
            }
        }
    }
}

コンボボックスで NetElement を選択し、それに ActiveElement を設定できるようにしたいと考えています。

ここに私の現在のXAMLの関連部分があります:

<ItemsControl Background="White" IsTabStop="True" ItemsSource="{Binding Path=Model.RootNet.Elements}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Margin="2,6">
            <Hyperlink Command="{Binding Path=I'm not able to figure out what to write here}">
              <TextBlock Text="{Binding Path=Name}" />
            </Hyperlink>
          </TextBlock>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

これはコンボボックスではなく TextBlocks のリストですが、どこに行くのかを見ることができます。

ビューから ActiveElement を設定するにはどうすればよいですか?

4

1 に答える 1

1

ComboBox の SelectedItem プロパティの ActiveElement プロパティへのバインドを作成します。

 <ComboBox SelectedItem="{Binding Path=ActiveElement}" ... />

次に、ビューの DataContext プロパティをビュー モデルに設定します。

于 2012-04-25T20:59:25.823 に答える