반응형
WPF: 콘텐츠 제어를 위한 데이터 템플릿 트리거를 설정하는 방법은 무엇입니까?
콤보 상자 하나와 내용 컨트롤이 포함된 사용자 컨트롤을 만들고 싶습니다.콤보 상자에서 선택한 내용에 따라 내용 컨트롤이 사용할 데이터 템플릿이 결정됩니다.저는 제가 성취하고자 하는 것이 무엇인지를 거의 보여주는 이 기사를 읽었습니다.
콤보 상자는 다음으로 가득 차 있습니다.enum ModelType
가치들, 그것은 될 수 있습니다.Person
또는Company
사용자가 선택하는 경우Person
콘텐츠 제어는 다음을 사용해야 합니다.personTemplate
데이터 템플릿companyTemplate
위해서Company
.
콘텐츠 제어를 위한 XAML 코드가 막혔습니다.다음은 제가 만든 것이지만 작동할 수는 없습니다.
<UserControl.Resources>
...
<DataTemplate x:Key="personTemplate" ...>
<DataTemplate x:Key="companyTemplate" ...>
...
</UserControl.Resources>
...
<ContentControl x:Name="Account">
<ContentControl.ContentTemplate>
<DataTemplate>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding AccountType}" Value="Person">
<!-- I doubt the Value property is set correctly. -->
<!-- It should be a value of an enum ModelType -->
<Setter
TargetName="Account"
Property="ContentTemplate"
Value="{StaticResource personTemplate}" />
<!-- The setter is unaware of the target name, i.e. content control -->
</DataTrigger>
<DataTrigger Binding="{Binding AccountType}" Value="Company">
<Setter
TargetName="Account"
Property="ContentTemplate"
Value="{StaticResource companyTemplate}" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
도와주세요, 감사합니다.
저는 실제로 그것을 작동시켰습니다.:)
XAML은 다음과 같이 구성됩니다.
<ContentControl Content="{Binding}">
<ContentControl.Style>
<Style TargetType="ContentControl">
<Style.Triggers>
<DataTrigger Binding="{Binding AccountType}" Value="Person">
<Setter Property="ContentTemplate" Value="{StaticResource personTemplate}" />
</DataTrigger>
<DataTrigger Binding="{Binding AccountType}" Value="Company">
<Setter Property="ContentTemplate" Value="{StaticResource companyTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
열거형의 값도 잘 작동합니다.
언급URL : https://stackoverflow.com/questions/5771362/wpf-how-to-set-the-data-template-trigger-for-content-control
반응형
'source' 카테고리의 다른 글
mongoose 스키마 생성 (0) | 2023.05.17 |
---|---|
코드가 있는 어셈블리의 경로를 가져오려면 어떻게 해야 합니까? (0) | 2023.05.17 |
Python: 목록에서 판다 데이터 프레임 만들기 (0) | 2023.05.17 |
파이썬에서 환경 변수에 액세스하려면 어떻게 해야 합니까? (0) | 2023.05.17 |
Python mock Patchos.environ 및 반환 값 (0) | 2023.05.12 |