texbox가 포함 된 itemtemplate을 사용하여 목록 상자와 두 개의 분리 된 바인딩 문제가 있습니다.목록 상자 itemtemplate 문제 내에서 바인딩
1) 하나의 목록 상자가 문자열 목록에 바인딩됩니다. 작성된 텍스트 상자 안에 각 문자열을 표시하고 양방향 바인딩을 동시에 허용 할 수 있습니까? 경로 또는 XPath를 지정하지 않으면 양방향 바인딩이 허용되지 않습니다.
<ListBox Height="231" HorizontalAlignment="Left" Margin="0,167,0,0" Name="listBoxKeys" VerticalAlignment="Top" Width="219" ItemsSource="{Binding Path=SelectedPlatform.Keys}" SelectedItem="{Binding Path=SelectedKey,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,0">
<TextBox Text="{Binding Mode=OneWay}" Margin="0,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
그리고 2) 사용자 지정 KeyValuePair 클래스의 일반 목록에 바인딩하는 다른 목록 상자를 사용합니다. itemtemplate에는 텍스트 상자와 콤보 상자가 있습니다. 텍스트 상자 텍스트는 각 KeyValuePair 객체의 key 속성에 바인딩되고 combobox는 selecteditem을 value 속성에 바인딩합니다. 내 문제는 런타임에 변경 될 내 viewmodel에 선언 된 문자열 목록에 의해 콤보를 채우고 싶습니다. 윈도우의 datacontext는리스트가 선언 된 뷰 모델이다. 콤보 박스 항목 소스를 바인딩 할 때 사용해야하는 정확한 구문을 모르겠습니다. 여기에 내 코드입니다 :
<ListBox Height="393" HorizontalAlignment="Left" Margin="0,72,0,0" Name="listBoxActions" VerticalAlignment="Top" Width="254" ItemsSource="{Binding Path=SelectedPlayer.ControlProfile.MappedActions}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,0">
<TextBox Text="{Binding Key, Mode=TwoWay,UpdateSourceTrigger=LostFocus}" Margin="10,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<ComboBox Margin="10,0,0,0" Height="Auto" MinWidth="80" MaxWidth="80" HorizontalAlignment="Left" VerticalAlignment="Center" ItemsSource="{Binding ?}" SelectedItem="{Binding Value, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
이 당신이 어떤 사람들은 그래서 당신은 두 사람이 제대로 답변을 얻을 수 있습니다 하나가 아닌 다른 대답 할 수 찾을거야 진짜로 두 개의 질문이 있었다한다. 이것은 대답을 정확하게 표시하기 어렵게 만듭니다. –