(InitializeComponents()
만을 호출하는 기본 생성자를 통해) 인스턴스화 된 다음 작은 , 특히 ViewModel의 인스턴스를 제공하는 작은 사용자 정의 ValueConverter
을 시험해보고 싶습니다. 모든 (A NullReferenceException
를 산출)에서 DataContext
그 이후 변경 되었기 때문에, 작동하지 않습니다 Binding
내에서 StaticResource
를 사용DataContext 스위치 뒤에 ValueConverter 사용
(더 이상 this
하지 않습니다).
InitializeComponents
전화 전에 변경 전의 DataContext = this;
을 넣으려고했습니다. 변경 사항이 없습니다. MarkupExtension
기즈모 (in this article에 설명 된 내용)를 조사해야합니까?
ViewModel (현재 DataContext
) 내에 맞춤 Value Converter
의 인스턴스를 만들려고했는데 도움이되지 않습니다.
나는 항상 추가 세부 정보를 제공 할 수 있습니다. 미리 감사드립니다.
TextBlock 내에 ContextMenu를 표시하려고합니다. ContextMenu는 하나의 MenuItem을 포함합니다. 예를 들어, MenuItem의 머리글은 "설정"일 수 있습니다. 해당 MenuItem의 Children (MenuItems로 렌더링 됨)은 Enum에서 파생되므로 MenuItem의 ItemsSource입니다.
이제는 기본 설정이 있으므로 모든 항목이 멋지게 표시되지만 자녀 (예 : 열거 형의 구성원) 중 하나를 기본값으로 선택하려고합니다. 배경 정보는 my other question에서 확인할 수 있습니다.
편집는 :
...
<UserControl.Resources>
<Helpers:DisplayTypeToDefaultValueConverter x:Key="displayTypeConverter" />
</UserControl.Resources>
...
<TextBlock x:Name="InstructionLabel"
TextWrapping="Wrap" Text="{Binding Path=SelectedNodeText}"
Grid.RowSpan="1">
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Settings" Name="SettingsPop"
DataContext="{Binding}"
ItemsSource="{Binding Source={StaticResource DisplayTypeValues}}"
IsCheckable="True"
Click="SettingsType_Click">
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding}"/>
<Setter Property="IsChecked">
<Setter.Value>
<Binding Converter="{StaticResource displayTypeConverter}" />
</Setter.Value>
</Setter>
</Style>
</MenuItem.ItemContainerStyle>
</ContextMenu>
</TextBlock>
난 단지 지금은 지칠대로 지친의 ContextMenu의 것을 깨달았다. 그게 문제 야, 맞지?
1. DataContext는 StaticResource 바인딩에 영향을 미치지 않습니다. 2. 당신이 구속력이있는 xaml 라인을 제공해 줄 수 있습니까? –
수정 작업 중입니다. – Dr1Ku
DisplayTypeValues는 어디에 있습니까? 정의를 볼 수 없습니다.그리고 DisplayTypeToDefaultValueConverter의 코드도 도움이 될 것입니다. –