Ich glaube nicht, dass es ein Problem mit Ihrem Code gibt. Es scheint perfekt zu funktionieren an meinem Ende. Ich habe sowohl in XAML und Codebehind als auch ganz im Code hinterher versucht.
Beide funktioniert wie erwartet und Binding ist perfekt!
Ich habe ein Beispiel unten eingefügt. Prüfen Sie. Die Bindung funktioniert perfekt zu meinem Ende!
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
xmlns:viewModel="clr-namespace:WpfApplication1.ViewModel"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525"
>
<Grid x:Name="Grid1" />
</Window>
-Code Behind:
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ToggleButton two = new ToggleButton();
two.Content = "Two";
two.Width = 100;
two.Height = 50;
/* Set up ToggleButton here*/
this.Grid1.Children.Add(two);
ToggleButton one = new ToggleButton();
if (one == null) return;
one.Content = "One";
one.Width = 100;
one.Height = 50;
one.Margin = new Thickness(0, 0, 250, 0);
this.Grid1.Children.Add(one);
Binding binding = new Binding("IsChecked");
binding.Source = two;
binding.Mode = BindingMode.TwoWay;
one.SetBinding(ToggleButton.IsCheckedProperty, binding);
/* Add two to the UI */
}
}
}
Erstellen Sie keine Bindungen in Code, es ist ein Chaos ist. –
Sie möchten also, dass die Umschalttasten das Gegenteil von dem tun, was eine normale Umschalttaste tut? Warum brauchen Sie ein Paar Knöpfe, um gleich zu sein? – Paparazzi
@Paparazzi Sie repräsentieren das gleiche Objekt auf dem Server, aber sind in verschiedenen Menüs – KevinA