XAML에는 컬렉션에서 항목을 얻을 수있는 XPath와 같은 구문이 있습니까?
문제
내 뷰 모델에는 뷰에서 단어를 번역하는 키/값이있는 사전 객체가 있습니다.
언어 정보를 XML 객체 그런 다음 XPath로 번역 된 문구를 선택하십시오.
<TextBlock DataContext="{TranslatorDictionaryXml}" Text="{Binding XPath=/terms/term[key='edit']/value[@lang='en-US']}"/>
그러나 이것을 수행하는 비슷한 방법이 있습니까? 비 XML 객체 그것은 일종의 Xpath와 같은 구문을 제공합니다
의사 코드 :
<TextBlock DataContext="{CurrentLanguageTranslatorDictionary}" Text="{Binding path=Key['edit']}"/>
컬렉션을 ListView 또는 다른 컬렉션 요소에 바인딩하고 싶지 않지만 하나의 번역기 개체를 개별 텍스트 블록 및 텍스트 상자 및 툴팁, 그런 다음 경로 구문을 사용하여 바운드 컬렉션에서 특정 항목을 가져옵니다.
이게 가능해?
해결책
예, 둘 다 할 수 있습니다. XPath 속성이 있습니다. 제본 또한. 어떻게하는지에 대한 좋은 예가 있습니다. 여기, 그리고 전체적으로 구속력있는 방법 샘플. 당신은 할 수 있습니다 또한 컬렉션의 인덱서를 사용하십시오 그렇게하려면 단일 따옴표 나 탈출 된 인용문이 필요하지 않습니다.
<TextBox Text="{Binding Path=Countries[US]}" />
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
Countries = new Dictionary<string, string>();
Countries.Add("US", "United States");
Countries.Add("CA", "Canada");
this.DataContext = this;
}
public Dictionary<string, string> Countries { get; set; }
}
제휴하지 않습니다 StackOverflow