-2

ComboBoxから番号を変更し、で値を変更したいTextBox

(たとえば、番号 =2 でコンテンツが "lblblblb" ofc にあります。これは にObservableCollection<string>あるので、 を呼び出しますContentWithListView[SelectNumberStep])

ReadPage.xaml

<TextBox HorizontalAlignment="Left" Margin="580,154,0,0" 
 TextWrapping="Wrap" Text="{Binding ContentWithListView[SelectNumberStep],Mode=TwoWay}"
 VerticalAlignment="Top" Width="725" Height="82"/>

<ComboBox HorizontalAlignment="Left" Margin="440,154,0,0" 
 ItemsSource="{Binding NumberStep,Mode=TwoWay}" 
 SelectedItem="{Binding SelectNumberStep,Mode=TwoWay}" 
 VerticalAlignment="Top" Width="95" Height="77" />

TextBox のコンテンツを CombBox の数値から変更するにはどうすればよいですか?

ReadViewModel.cs

private ObservableCollection<string> contentWithListView;
public ObservableCollection<string> ContentWithListView
{
    get
    {
        return this.contentWithListView;
    }

    set
    {
        this.contentWithListView = value;
    }
}

private ObservableCollection<int> stepNumber;
public ObservableCollection<int> NumberStep
{
    get
    {
        return this.stepNumber;
    }

    set
    {
        this.stepNumber = value;
    }
}

private int selectNumberStep;
public int SelectNumberStep
{
    get
    {
        return this.selectNumberStep;
    }

    set
    {
        this.selectNumberStep = value;    
    }
}
4

2 に答える 2

0

SelectNumberStepテキストボックスが変更時に更新されるスカラー文字列値にバインドされるように、ビューモデルコードを変更します。

public string Content
{
   get
   { 
      // bounds checking here..
      return contentWithListView[this.SelectNumberStep];
   }
}

public int SelectNumberStep
{
    get
    {
        return this.selectNumberStep;
    }

    set
    {
        this.selectNumberStep = value;
        this.NotifyOfPropertyChange(() => this.SelectNumberStep);
        this.NotifyOfPropertyChange(() => this.Content);
    }
}

<TextBox Text="{Binding Content}" ... />
于 2013-04-15T21:58:47.080 に答える