데이터 바인딩을 사용하는 여러 RadioButton 컨트롤이 포함 된 WPF ListView 컨트롤이 있습니다. 그룹의 첫 번째 RadioButton을 기본적으로 확인해야하며, 프로그래밍 방식이 아닌 XAML로 설정하는 것이 좋지만이를 달성하지 못했습니다. 컨트롤ListView 컨트롤의 첫 번째 WPF RadioButton에 대한 XAML을 기본적으로 설정하려면 어떻게해야합니까?
내 XAML은 다음과 같습니다
<ListView ItemsSource="{Binding OptionsSortedByKey}" >
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type Logging:FilterOptionsRadioListViewModel}">
<RadioButton Content="{Binding Value}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
OptionsSortedByKey 속성은 SortedList이다.
내가로드 이벤트에 RadioButton 컨트롤의의 IsChecked 속성을 설정하여 서투르게 이런 짓을했는지 : 나는 지금까지 거라고
var button = sender as RadioButton;
if (button != null)
{
if (button.Content.ToString().ToUpperInvariant() == "ALL")
{
button.IsChecked = true;
}
}
는 XAML에서 데이터 바인딩을 통해 그것을 할 것을 선호합니다. 간단한 방법이 있습니까? 당신은 할 수
켄트, 멋지 네요. 내 컬렉션으로 SortedList를 사용하여 하위 뷰 모델을 만드는 것을 피했습니다. 더 나은 방법은 DictionaryEntry 필드와 IsChecked 속성만으로 하위 뷰 모델 클래스를 만드는 것입니다. 쉽게 할 수있을만큼, 나는 모든 필요를 충족시키는 것처럼 보이는 컬렉션 클래스를 사용하여 작업을 최소화하려고했습니다. –
@Val : 그렇습니다. 데이터 항목을 래핑하는 VM을 만드는 경향이 있습니다. 매우 단순한 경우에도 마찬가지입니다. 때마다 그것을 해제하고 그냥 데이터 항목을 사용하여 도망 치려고 언제든지, 나는 항상 그것을 후회했다. ... –
켄트, 그건 정확히 지금 내가 한 일이고 그 이후로 자식 VM이 어쨌든 필요로하는 다른 속성을 찾았습니다. 그 자식 VM이 이미 자리 잡게하는 것이 좋았습니다. 나는 다시 시도를하지 않을 것이다. 도와 주셔서 감사합니다. –