2014-02-13 2 views
0

그래서 일부 XAML 코드를 변경하여 값의 소수 자릿수를 변경하는 컨텍스트 메뉴에 추가하려고합니다. 내 XAML은 약간 약하지만 조금 잃어 가고 있습니다. 난 그냥 지금 자리로 oneDecimal 및 twoDecimal을 넣었습니다 (XAML의 동적 바인딩

<MenuItem Header="{DynamicResource DecimalPlaces}" ItemsSource="{Binding MenuItems}"> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="{DynamicResource oneDecimal}" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="{DynamicResource twoDecimal}" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
</MenuItem> 

이 적어도 메뉴가 나타나게되지만, 문제는 DecimalPlaces int 타입을 처리하다 :

내가 지금 가지고있는 코드는) 그리고 동적 인 리소스를 int로, 가급적 1에서 10으로 지정하는 것이 바람직합니다.

내 질문은 : 어떻게 동적 변수를 특정 변수가 아닌 정수로 설정할 수 있고 동적으로이 메뉴를 생성 할 수 있습니다 (10 개의 다른 항목 작성과 반대), 어쩌면 배열을 기반으로하거나 어떤 것?

죄송합니다. 제가 말씀 드린 것처럼 매우 간단한 질문 인 경우 제 XAML이 약간 약합니다. 어떤 도움이라도 대단히 감사합니다.

+0

답변에 언급 된 것처럼 여기에 묻는 질문은 명확하지 않습니다. 너 정확히 뭘 하려구? – BradleyDotNET

답변

1

질문을 올바르게 이해할 경우 DynamicResource가 필요하다고 생각하지 않습니다. DynamicResource는 런타임에 해석되는 리소스입니다. 이것은 일반적으로 테마 지정에 사용됩니다.

정확히 무엇을 하려는지 이해하기가 어렵지만 헤더에 텍스트를 표시하려면 그냥 설정하십시오. 그것이 당신의 메뉴 아이템에서 오는 일부 데이터를 필요로하는 경우

<MenuItem Header="{DynamicResource DecimalPlaces}" ItemsSource="{Binding MenuItems}"> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="1" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="2" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="OneDecimal" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
    <ExclusiveMenuItem:ExclusiveMenuItem Header="TwoDecimal" IsCheckable="True" IsChecked="{Binding Path=DecimalPlaces}"/> 
</MenuItem> 

는 다음 ItemTemplate을 또는 ItemContainerStyle을 사용합니다.

<MenuItem Header="{DynamicResource DecimalPlaces}" ItemsSource="{Binding MenuItems}"> 
    <MenuItem.ItemContainerStyle> 
     <Style TargetType="MenuItem"> 
      <Setter Property="Header" Value="{Binding SomeProperty}" /> 
      <Setter Property="IsCheckable" Value="True" /> 
      <Setter Property="IsChecked" Value="{Binding Path=DecimalPlaces}" /> 
     </Style> 
    </MenuItem.ItemContainerStyle> 
</MenuItem> 
관련 문제