WPF Caliburn.Micro - DataGridTextColumn z ContentMenu

WPF Caliburn.Micro - DataGridTextColumn z ContentMenu
AB
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Postów:3
0

Witam,
mam taki otóż to dziwny problem i nie mogę tego rozgryźć dlaczego.
W DataGrid w nagłówku kolumny nie działa ContextMenu, sypie wyjątkiem po kliknięciu:
"An unhandled exception of type 'System.Exception' occurred in WindowsBase.dll
Additional information: No target found for method ContextMenu2."

Co dziwne w innym miejscu np na buttonie działa odwołanie do tego samego i jest ok.

Czy to oznacza że akurat w tym miejscu nie działa w caliburn.micro odwołanie do viewmodelu ?

Kopiuj
 
                                <DataGridTextColumn Binding="{Binding Path=Name}">
                                    <DataGridColumn.Header>
                                        <TextBlock Text="Nazwa">
                                            <TextBlock.ContextMenu>
                                                <ContextMenu>
                                                    <MenuItem  Header="lololol" cm:Message.Attach="[Event Click]=[Action ContextMenu2]"></MenuItem>
                                                </ContextMenu>
                                            </TextBlock.ContextMenu>
                                        </TextBlock>
                                    </DataGridColumn.Header>
                                </DataGridTextColumn>		

Może ktoś pomóc jak to ogarnąć ?

neves
  • Rejestracja:prawie 22 lata
  • Ostatnio:2 dni
  • Lokalizacja:Kraków
  • Postów:1114
0

We wnętrzu DataGrida nie masz bezpośredniego dostępu do DataContextu który jest przypisany do DataGrida, czyli jakiegoś viewmodelu przypisanego do Twojego widoku.
W czystym WPFie robi się proxy który umożliwia bindowanie do danych na zewnątrz datagridu, np:
http://stackoverflow.com/questions/22073740/binding-visibility-for-datagridcolumn-in-wpf

Jak to to zrealizować Caliburn.Micro, nie mam pojęcia, bo nigdy tego nie uzywałem :)


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.