피벗에 여러 ListBox가 있고 각 속성에 대해 전체 페이지를 입력하고 싶지 않기 때문에 ListBox를 내 ViewModel에 바인딩하려고합니다. 내 문제를 설명하기 위해, 여기에 작은 샘플입니다 :ViewModel 선택에 바인딩
XAML :
<DataTemplate x:Key="PropertyTemplate">
<StackPanel>
<TextBlock Text="{Binding Label}" />
<TextBlock Text="{Binding Value}" />
</StackPanel>
</DataTemplate>
<controls:Pivot>
<controls:PivotItem>
<ListBox ItemsSource="{Binding PropertySelectionOne}" ItemTemplate="{StaticResource PropertyTemplate}" />
</controls:PivotItem>
<controls:PivotItem>
<ListBox ItemsSource="{Binding PropertySelectionTwo}" ItemTemplate="{StaticResource PropertyTemplate}" />
</controls:PivotItem>
</controls:Pivot>
뷰 모델 :
public class SomeViewModel
{
private Property _propOne;
public Property PropOne
{
get { return _propOne; }
set { _propOne = value; NotifyPropertyChanged("PropOne"); }
}
private Property _propTwo;
public Property PropTwo
{
get { return _propTwo; }
set { _propTwo = value; NotifyPropertyChanged("PropTwo"); }
}
private Property _propThree;
public Property PropThree
{
get { return _propThree; }
set { _propThree = value; NotifyPropertyChanged("PropThree"); }
}
}
그래서 기본적으로 나는에 대한 참조를 포함 할 것이다, PropertySelectionOne
및 PropertySelectionTwo
내리스트 박스를 결합 할 내 ViewModel의 속성 중 하나를 선택합니다. 예를 들어, PropertySelectionOne
은 PropOne
및 PropTwo
을 포함 할 수 있고 PropertySelectionTwo
은 PropTwo
및 PropThree
을 포함 할 수 있습니다.
응용 프로그램의 아키텍처를 변경하지 않고 바인드 할 새 속성에 이러한 속성을 "그룹화"하는 간단한 방법이 있습니까? 서로 다른 특성을 가지고있어
감사
ObservableCollection을 만듭니다.. PropOne과 PropTwo를 추가하십시오. 그런 다음 ObservableCollection을 목록 상자의 itemssource에 바인딩합니다. –
Evan, 나는 그것을 실제적으로 시도했지만 컬렉션에 올바른 수의 항목이있는 것으로 보이지만 항상 null입니다. 내가 한 방식은 그냥 ObservableCollection PropertyCollection이고 생성자는 PropertyCollection = new ObservableCollection {PropOne, PropTwo}' –
RajenK