2016-09-13 3 views
0

Когда я привязываю данные с помощью x: привязка к моему xaml работает, но когда тот же код выполняется с использованием привязки вместо x: Bind, это не так. Почему это происходит? Я прочитал их разницу, говоря, что это время исполнения и другое время компиляции и тому подобное, но это совсем не помогает. Может ли кто-нибудь помочь мне на практическом уровне?Разница между x: привязка и привязка

+2

Вы смотрели на [this] (https://msdn.microsoft.com/en-gb/windows/uwp/xaml-platform/x-bind-markup-extension) или [это] (https://msdn.microsoft.com/ru -gb/windows/uwp/data-binding/data-binding-in-depth) или [это] (https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlBind) или [ это] (http://stackoverflow.com/questio ns/32582303/binding-vs-xbind-using-staticresource-as-a-default-and-their-difference-in-d) или [this] (http://stackoverflow.com/questions/37398038/difference-between -связывающего-и-xbind)? Этот вопрос задавали и отвечали много раз. –

ответ

1

с помощью x: bind вы можете связать только члена экземпляра класса модели.

//sends whole current instance to the converter. 
//(note: yes you see correct. no property is attached after Binding keyword 
    .... 
<DataTemplate x:DataType="Models:Human"> 
<StackPanel Background="{Binding Converter={StaticResource UnwantedDayColorConverter}}"> 
.... 

с помощью связывания можно связать только член экземпляра класса модели
, а также вы можете связать весь экземпляр (текущий объект. Не только его одно свойство)

//you can send only instance property (Gender) to the converter 
<DataTemplate x:DataType="Models:Human"> 
       <StackPanelHorizontalAlignment="Stretch" Background="{x:Bind Gender, Converter={StaticResource UnwantedDayColorConverter}}"> 
Смежные вопросы