2011-04-08 4 views
1

같은 WPF 콤보 상자가 정의 된 :해당 XML의 특성을 기반으로 XML에 바인딩 된 ComboBox의 SelectedIndex 속성을 어떻게 설정합니까?

<ComboBox Grid.Column="1" x:Name="cUrls" SelectedIndex="1" ItemsSource=" {Binding XPath=//data/endpoints/endpoint}" Margin="5" >      
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding [email protected]}"></TextBlock> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

이 같은 XmlDocument 바운드됩니다 :

<?xml version="1.0" encoding="utf-8" ?> 
    <data> 
     <endpoints> 
     <endpoint name="test">test url</endpoint> 
     <endpoint default="true" name="production">production url</endpoint> 
     </endpoints> 
    <requests> 
     <request > 
       ... 
     </request> 
     <request > 
       ... 
     </request> 
     </requests> 
    </data> 

바인딩 제대로 작동하며 콤보 상자 항목을 "테스트"및 " 생산 "및 SelectedValue 속성에서 올바른 URL 끌어 오기 수 있습니다.

default=true 특성을 가진 <endpoint> 노드의 인덱스 ComboBox SelectedIndex 속성을 설정할 수 싶습니다.

ComboBox에서 SelectedIndex="{Binding XPath=}"을 할 수 있습니까? 그렇다면 그 표현은 어떻게 생겼을까요? 그렇지 않다면 어떻게해야합니까?

고마워!

답변

1

 <ComboBox x:Name="cUrls" 
       SelectedItem="{Binding XPath=/data/endpoints/endpoint[@default\=\'true\']}" 
+0

아니보십시오. XPath의 끝에/position()도 추가하지 않습니다. – Matthew

+0

아무런 차이가 없습니다. – Matthew

+0

@Matthew이 편집 스 니펫을 사용해보십시오. 방금 이런 걸 시험해 봤어. –

관련 문제