当我具有Xamarin模板绑定时,是否总是需要Source = {x:Reference this}?

时间:2018-09-08 04:29:35

标签: xamarin xamarin.forms

这是我使用的模板示例(为方便起见,对此进行了简化)。

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
xmlns:local="clr-namespace:Japanese;assembly=Japanese" 
x:Class="Japanese.SwitchTemplate" x:Name="this">
    <StackLayout IsVisible="{Binding GridVisible, Source={x:Reference this}}">
    </StackLayout>
</ContentView>

有人可以向我解释为什么我需要拥有

Source={x:Reference this}

并且有一种方法可以避免我使用的模板中的每个绑定变量都具有此功能?

1 个答案:

答案 0 :(得分:0)

在您发布的示例中,您无需指定绑定来源。

定义数据模板时需要来源。例如,ListView。您提供了一个数据源,但是模板中有一个绑定,该绑定绑定到页面本身或另一个控件的绑定上下文中的另一个对象。

如果不了解您要做什么,就无法避免。