2

XAML フォームの部分クラス コード ビハインドがあります。コードビハインドは次のとおりです。

partial class GalleryDictionary
{
    private void GalleryItemLabelPropertyChanged(object sender, RoutedEventArgs e)
    {
        var mainWindow = Application.Current.MainWindow as MainWindow;
        if (mainWindow == null)
            return; 

        var tb = sender as TextBox;
        if (tb == null)
            return;

        var sip = tb.DataContext as StereoImagePair;
        if (sip == null)
            return;

        sip.Label = tb.Text;

        mainWindow.Db.SubmitChanges();
    }
}

これは、名前空間宣言の後の DOC.XAML.CS ファイル全体です。

私の XAML ファイルでは、DriveOnRight を呼び出したいこの XAML.CS ファイルから変数にアクセスする必要があります。これが私が戦ってきた行です:

        <ToggleButton Grid.Row="1" Grid.Column="2" Width="26" Height="26" IsChecked="True" Click="GalleryItemLabelPropertyChanged" CommandParameter="2" Name="PS" Content="{Binding DriveOnRight}"></ToggleButton>

XAML ファイルの読み取り場所....Content="{Binding DriveOnRight}" は、CS ファイルから変数にアクセスしてそこに表示する必要がある場所です。

それ、どうやったら出来るの?

どんな助けでも大歓迎です。

4

3 に答える 3

0

これが方法の1つです:

public class GalleryDictionaryViewmodel: INotifyPropertyChanged
{
     private string _DriveOnRight;
     public string DriveOnRight
     {
         get{ return _DriveOnRight;}
         set{ _DriveOnRight = value;}
     }
}

CodeBehind ファイル (DOC.XAML.CS) で:

partial class GalleryDictionary
{
      public GalleryDictionaryViewModel GDViewModel;
      public GalleryDictionary()
      {
          GDViewMOdel = new GDViewModel();
          GDViewModel.DriveOnRight = "";
          this.DataContext = GDViewModel;
      }
}

Xaml ファイルで:

 <ToggleButton Grid.Row="1" Grid.Column="2" Width="26" Height="26" IsChecked="True" Click="GalleryItemLabelPropertyChanged" CommandParameter="2" Name="PS" Content="{Binding DriveOnRight}"></ToggleButton>

これがあなたを助けることを願っています。

于 2013-06-24T12:51:50.663 に答える
0

ボタンやトグル ボタン、またはそれを使用するオブジェクトの LOADED 機能に関連付けられているコード ビハインドで値を割り当てることができます。

値を設定する関数の上のレベルで、次のようなコードを作成します。

    public static string DriveOnRight = "True";  
    //"True" could be a condition or function or whatever.

次に、コード ビハインドでは次のようになります。

    private void DS_Loaded(object sender, RoutedEventArgs e)
    {
        ToggleButton tg = sender as ToggleButton;
        if (//WhateverYourPathToTheVariable//.DriveOnRight == "True")
        {
            tg.Content = "DS"; 
        }
        else
        {
            tg.Content = "PS";
        }

    }

そして... XAML コードでは、次のようになります。

        <ToggleButton Loaded="DS_Loaded" Grid.Row="1" Grid.Column="0" Width="26" Height="26" Name="DS" Content="DS"></ToggleButton> 
于 2013-07-15T22:33:31.463 に答える