0
저는 WPF에 비교적 신선하고 XAML을 발견했습니다.ListBox의 선택된 항목 만 새 목록에 표시합니다.
XAML (아래 참조)에 ListBox Name="EmployeeTitles"
이 하나 있습니다. 문제를 시연 할 목적으로 ObservableCollection<Employee>
인 DataContext = employees
입니다. 다음과 같이
<ListBox Name="EmployeeTitles"
ItemsSource="{Binding}"
SelectionMode="Extended">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ToggleButton IsChecked="{Binding IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}">
<!--StackPanel will have more items-->
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}"/>
</StackPanel>
</ToggleButton>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
내 "코드 뒤에"클래스 조각은 같습니다
private string _title;
public string Title
{
get { return _title; }
set
{
_title = value;
OnPropertyChanged();
}
}
private bool _isSelected;
public bool IsSelected
{
get
{
return _isSelected;
}
set
{
_isSelected = value;
OnPropertyChanged();
}
}
내가 다른 컨트롤에서 선택한 항목을 표시하고 싶습니다. 예를 들어 선택한 항목 만 표시하는 목록이 있습니다. XAML에서 IsChecked="True"
인 항목 만 표시한다고 어떻게 든 표시 할 수 있습니까? 내가 선택한 항목을 저장하고 다른 "ObservableCollection"속성을 때마다 IsSelected
변경 때마다 그것을 업데이트 할 수있는 알고 있지만 오버 헤드를 것 같아요 및 거기에 XAML 할 방법이 있어야할까요?
당신은'ListBox.SelectedItems'를 바인딩 할 수 없습니다. –
당신이 할 수있는 요소 바인딩을 사용하여 .. 내 완전한 코드를 시도해 .. –
나는 서서. 아주 멋지다. 그래도 여전히 뷰티 모델로 되돌려 보내야합니다. –