Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Petr Daříček:22.9.2020 14:02

Ahoj,
zkousel jsem nabindovat enablovani OK tlacitka na vlasnti property v UserControl. Problem je ze se mi neaktualizuje i kdyz implementuji rozhranni INotifyProper­tyChanged.

public partial class UCTraining : UserControl, INotifyPropertyChanged
    {
...
        public event PropertyChangedEventHandler PropertyChanged;

        public bool IsOKEnabled
        {
            get
            {
                return ((cbClient.SelectedIndex != -1) && (cbTarif.SelectedIndex != -1));
            }

        }

        private void cbTarif_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            PropertyChanged?.Invoke(sender, new PropertyChangedEventArgs(nameof(IsOKEnabled)));
        }

       private void cbClient_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            PropertyChanged?.Invoke(sender, new PropertyChangedEventArgs(nameof(IsOKEnabled)));
        }
...

Do xamlu jsem pak dal

<Button x:Name="BtnOK" Content="_OK" Width="80" Height="22" Margin="10,0,0,0" Click="btnOK_Click" IsDefault="True"
                    IsEnabled="{Binding IsOKEnabled,ElementName=ucTraining, Mode=OneWay}"  >

Pri vytvoreni se vse provede spravne, ale pokud menim hodnotu v comboboxech na nez jsou napojeny eventy cbTarif_Selec­tionChanged a cbClient_Selec­tionChanged tak se neprovede nic.

Dekuji

Zkusil jsem: Zkousel jsem uz menit DataContext v nejruznejsich kombonacich.

Chci docílit: V podstate chci aby tlacitko OK bylo disablovane dokud uzivatel nevybere hodnoty s vice comboboxu.

 
Odpovědět
22.9.2020 14:02
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Petr Daříček
Michal Štěpánek:28.9.2020 0:25

Zkus si to krokovat, podle mě to ve skutečnosti neprovede to propertychanged...

Editováno 28.9.2020 0:26
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
28.9.2020 0:25
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.