簡體   English   中英

xaml Twoway綁定到PhoneApplicationPage代碼后面的屬性

[英]xaml Twoway binding to a property in PhoneApplicationPage code behind

好的,很簡單,我的頁面上有一個ToggleSwitch,就像這樣。

<toolkit:ToggleSwitch x:Name="togLocation" VerticalAlignment="Center"
    Style="{StaticResource gToggleSwitchStyle}" Foreground="{StaticResource brLightFont}"
    Loaded="togLocation_Loaded" IsChecked="{Binding LocationTrackingEnabled, Mode=TwoWay}"/>

在同一頁后面的代碼中,我有以下內容

public partial class Setup : PhoneApplicationPage
{

    public bool LocationTrackingEnabled
    {
        get { return (bool)GetValue(LocationTrackingEnabledProperty); }
        set
        {
            SetValue(LocationTrackingEnabledProperty, value);
        }
    }

    public static readonly DependencyProperty LocationTrackingEnabledProperty =
        DependencyProperty.Register("LocationTrackingEnabled",
        typeof(bool),
        typeof(Setup),
        new PropertyMetadata(false));

    // blah blah rest of the page code follows on

如您所見,默認值為false,因此toggleswitch.IsChecked應該為false。 不,這是真的。 使用斷點,我檢查LocationTrackingEnabled,它從未更改,因此顯然綁定不起作用。

我已經在后面的代碼中嘗試過了。

DataContext = this;

我也在頁面的xaml中嘗試過

DataContext="{Binding RelativeSource={RelativeSource Self}}"

我之前做過綁定,但是看不到問題。

不需要是DependencyProperty。 只需將其用作常規屬性即可。 另外,在運行時檢查調試輸出-如果遇到綁定問題,它將顯示在此處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM