2009-03-20 6 views
0

요약하면 XAML-Button에 사용할 XML ButtonSettings 요소를 정의하고 해당 Button에 적용된 스타일로 선택한 ButtonSettings 요소의 하위 항목을 사용하고자합니다.지정한 XML 요소에 바인딩

이것이 가능합니까?

는 XML의 샘플 :

<Buttons> 
    <ButtonSettings ID="Bye"> 
    <Text lang="NL">Doei!</Text> 
    <Text lang="DE">Tsusch!</Text> 
    <Text lang="FR">Bonjour</Text> 
    <Text lang="EN">CU</Text> 
    <Image>D:\bye.PNG</Image> 
    </ButtonSettings> 
</Buttons> 

각 버튼의 경우는, 나는 그것이 ID를 지정하여 사용할 ButtonSettings 선택합니다. 그런 다음 해당 ButtonSettings 요소를 바인딩 또는 datacontext 스타일로 전달하고 싶습니다. 선택한 요소의 하위 항목 (예 : 텍스트 및 이미지)이 스타일로 사용됩니다.

단추의 내용을 선택하고 정의하는 것은 스타일이 아닌 단추에서 직접 정의하는 한 완벽하게 작동합니다. 나는 각 버튼의 [= ID @ '아이디'] // ButtonSettings를 정의하고 스타일 레이아웃의 나머지 부분을 처리 할 수 ​​있도록하려면

<Button 
      x:Name="ByeButton" 
      DataContext="{StaticResource dataProvider}"> 
      <Button.Content> 
       <Grid> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <TextBlock Grid.Row="0"> 
         <TextBlock.Text> 
          <Binding XPath="//ButtonSettings[@ID='Bye']/Text[@lang='FR']" /> 
         </TextBlock.Text>       
        </TextBlock> 
        <Image Grid.Row="1" Width="20" Height="20"> 
         <Image.Source> 
          <Binding XPath="//ButtonSettings[@ID='Bye']/Image" /> 
         </Image.Source> 
        </Image> 
       </Grid> 
      </Button.Content> 
     </Button> 

: 이것은 내가 하나의 버튼에 대해 가지고있는 XAML입니다 단추 및 콘텐츠 및 텍스트 넣기 이 작업을 수행 할 수 있습니까?

답변

1

ItemsControl을 찾고 데이터 유형을 대상으로하는 DataTemplate 내부에 단추를 배치한다고 생각합니다.

+0

요점은 ButtonSettings-instance의 ID를 Button에 전달하여 각 ButtonSet에 사용할 ButtonSettings 인스턴스를 지정하고자한다는 것입니다. lostbox와 같은 ItemsContol에서 목록 상자는 각 항목이 가져올 항목을 지정합니다. 그럴 때는 UI에 대한 통제력이 떨어진다. – Loy

관련 문제