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

Dlaczego DataContext nie działa?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
202 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ź 180 wizyt
pytanie zadane 12 grudnia 2023 w C# przez MisticVoid Początkujący (490 p.)
0 głosów
1 odpowiedź 117 wizyt
pytanie zadane 16 grudnia 2022 w C# przez MisticVoid Początkujący (490 p.)
0 głosów
1 odpowiedź 438 wizyt
pytanie zadane 21 marca 2020 w C# przez assassin Gaduła (3,260 p.)

93,103 zapytań

142,077 odpowiedzi

321,562 komentarzy

62,445 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...