• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego DataContext nie działa?

Object Storage Arubacloud
0 głosów
158 wizyt
pytanie zadane 19 kwietnia 2019 w C# przez marcinconn Obywatel (1,560 p.)

Robię wszystko wg tutoriala, ale po podpięciu metody obsługującej kliknięcie pod MenuItem nic się nie dzieje. W czym jest problem? Jak go naprawić?

1 odpowiedź

0 głosów
odpowiedź 19 kwietnia 2019 przez Dev Ox29A Dyskutant (8,400 p.)
Coś więcej ? jakiś kod ? co masz na outputcie kompilacji ? , może masz źle zbindowanie ?
komentarz 20 kwietnia 2019 przez marcinconn Obywatel (1,560 p.)
kod jest taki jak w tutorialu, jedyne co jest dodatkowe to pasek menu na górze i do jednej opcji podpięta metoda click. Błędów kompilacji nie ma.

Nie wiem tylko dlaczego na Button działa wszystko, a na MenuItem już nie.
komentarz 20 kwietnia 2019 przez Dev Ox29A Dyskutant (8,400 p.)
Bez kodu, który masz napisany z tym co Ci nie działa , mimo najszczerszej chęci pomocy , nie jestem w stanie nic zrobić :)
komentarz 20 kwietnia 2019 przez marcinconn Obywatel (1,560 p.)
<Window x:Class="stacja.Owner"
        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:stacja"
        xmlns:viewmodels="clr-namespace:stacja.ViewModels"
        xmlns:views="clr-namespace:stacja.Views"
        mc:Ignorable="d"
        Title="Właściciel" Height="450" Width="800">
    <Window.Resources>
        <DataTemplate x:Name="BasaDataAddingTemplate" DataType="{x:Type viewmodels:BasicDataAddingViewModel}">
            <views:BasicDataAddingView DataContext="{Binding}"/>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Menu Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" IsMainMenu="True" HorizontalAlignment="Stretch" >
            <MenuItem Header="Dane podstawowe">
                <MenuItem Header="Dodaj" Name="add_bd" Click="What"></MenuItem>
            </MenuItem>
        </Menu>
        <ContentControl Grid.Row="1" Name="ccOwner"/>
    </Grid>
</Window>

Wyżej plik XAML okna głównego

i niżej metoda What

private void What(object sender, RoutedEventArgs e)
        {
            MenuItem mi = e.Source as MenuItem;

            switch (mi.Name)
            {
                case "add_bd":
                    ccOwner.Content = new BasicDataAddingViewModel();
                    break;
            }
        }

 

komentarz 20 kwietnia 2019 przez Dev Ox29A Dyskutant (8,400 p.)
Ok , to ja mam pytanie :

W jaki sposób sprawdzasz czy metoda się wykonuje ?, Dajesz tam break point-a ?

i widzisz że nic się nie dzieje ? , czy nie ma reakcji jakiej się spodziewasz ?
komentarz 20 kwietnia 2019 przez marcinconn Obywatel (1,560 p.)
sprawdziłem MessageBox.Show(mi.Name); i wyświetliło mi nazwę MenuItem-a, który jest podłączony, także metoda śmiga, problem jest z DataContext, bo nie chce go zmienić

Podobne pytania

0 głosów
1 odpowiedź 131 wizyt
pytanie zadane 12 grudnia 2023 w C# przez MisticVoid Początkujący (490 p.)
0 głosów
1 odpowiedź 90 wizyt
pytanie zadane 16 grudnia 2022 w C# przez MisticVoid Początkujący (490 p.)
0 głosów
1 odpowiedź 373 wizyt
pytanie zadane 21 marca 2020 w C# przez assassin Gaduła (3,260 p.)

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...