Hallo zusammen Ich sage schonmal im vorraus ich bin relativ neu in der C#/WPF Welt somit wenn dies nur ein kleiner Fehler ist dann nicht gleich ausrasten.^^ So also zum Problem. wie ihr es oben im Titel schon sehen könnt wir OnPropertyChanged nicht geupdatet, also es it immer null. XMAL mit dem Binding und allem:
1 | <Window x:Class="Selectron_C_Bus_Calculator.View.PowerCalculatorView" |
2 | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
3 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
4 | xmlns:local="clr-namespace:Selectron_C_Bus_Calculator.View" |
5 | xmlns:viewmodel="clr-namespace:Selectron_C_Bus_Calculator.ViewModel" |
6 | xmlns:view="clr-namespace:Selectron_C_Bus_Calculator.View" |
7 | DataContext="{Binding PowerCalculatorViewModel}" |
8 | Title="PowerCalculatorView" Height="550" Width="800"> |
9 | <Window.Resources> |
10 | <DataTemplate DataType="{x:Type viewmodel:ExtensionViewModel}"> |
11 | <view:ExtensionView/> |
12 | </DataTemplate> |
13 | </Window.Resources> |
14 | <Grid> |
15 | <ListBox x:Name="listBox" MouseDown="listBox_MouseDown" Visibility="Visible" HorizontalAlignment="Left" Height="410" Margin="324,44,0,0" VerticalAlignment="Top" Width="468" BorderThickness="0" ItemsSource="{Binding Path=Extensions}"> |
16 | <ListBox.Resources> |
17 | <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" /> |
18 | <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" /> |
19 | <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" /> |
20 | </ListBox.Resources> |
21 | </ListBox> |
22 | <ComboBox x:Name="Node" HorizontalAlignment="Left" Margin="120,25,0,0" VerticalAlignment="Top" Width="120"/> |
23 | </Grid> |
24 | </Window> |
OnPropertyChanged Code:
1 | using System; |
2 | using System.ComponentModel; |
3 | |
4 | namespace Selectron_C_Bus_Calculator.ViewModel |
5 | { |
6 | public abstract class BaseViewModel : INotifyPropertyChanged |
7 | { |
8 | public event PropertyChangedEventHandler PropertyChanged; |
9 | protected void RaisePropertyChanged(string propertyName) |
10 | { |
11 | var handler = PropertyChanged; |
12 | if (handler != null) |
13 | { |
14 | handler(this, new PropertyChangedEventArgs(propertyName)); |
15 | } |
16 | } |
17 | } |
18 | } |
Code wo OnPropertyChanged aufgerufen wird:
1 | using System; |
2 | using System.Collections.Generic; |
3 | using System.Linq; |
4 | using System.Text; |
5 | using System.Threading.Tasks; |
6 | |
7 | namespace Selectron_C_Bus_Calculator.ViewModel |
8 | { |
9 | public class ExtensionViewModel : BaseViewModel |
10 | { |
11 | private bool isenabled; |
12 | private bool isenabled_number; |
13 | |
14 | public bool Isenabled |
15 | { |
16 | get |
17 | { |
18 | return isenabled; |
19 | } |
20 | set |
21 | { |
22 | isenabled = value; RaisePropertyChanged("Isenabled"); |
23 | } |
24 | } |
25 | |
26 | public bool Isenabled_Number |
27 | { |
28 | get |
29 | { |
30 | return isenabled_number; |
31 | } |
32 | set |
33 | { |
34 | isenabled_number = value; RaisePropertyChanged("Isenabled_Number"); |
35 | } |
36 | } |
37 | |
38 | public ExtensionViewModel(bool isenabled, bool isenablednumber) |
39 | { |
40 | this.isenabled = isenabled; |
41 | this.isenabled_number = isenablednumber; |
42 | } |
43 | } |
44 | } |
Wenn ich etwas vergessen habe probiere ich es so schnell wie möglich hinzuzufügen. MFG Joel