SORU
18 HAZİRAN 2009, PERŞEMBE


ElementName Değiştirmek içinde Switching Bağlayıcı

Başkası ElementName ile Bağlamaları doğru ContextMenu nesneleri içinde bulunan 2 ** nesneleri gidermek fark vardır? Bu örnek kontrol edin:

<Window x:Class="EmptyWPF.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300"
    x:Name="window">
    <Grid x:Name="grid" Background="Wheat">
    	<Grid.ContextMenu>
    		<ContextMenu x:Name="menu">
    			<MenuItem x:Name="menuItem" Header="Window" Tag="{Binding ElementName=window}" Click="MenuItem_Click"/>
    			<MenuItem Header="Grid" Tag="{Binding ElementName=grid}" Click="MenuItem_Click"/>
    			<MenuItem Header="Menu" Tag="{Binding ElementName=menu}" Click="MenuItem_Click"/>
    			<MenuItem Header="Menu Item" Tag="{Binding ElementName=menuItem}" Click="MenuItem_Click"/>
    		</ContextMenu>
    	</Grid.ContextMenu>
    	<Button Content="Menu" 
    			HorizontalAlignment="Center" VerticalAlignment="Center" 
    			Click="MenuItem_Click" Tag="{Binding ElementName=menu}"/>
    	<Menu HorizontalAlignment="Center" VerticalAlignment="Bottom">
    		<MenuItem x:Name="anotherMenuItem" Header="Window" Tag="{Binding ElementName=window}" Click="MenuItem_Click"/>
    		<MenuItem Header="Grid" Tag="{Binding ElementName=grid}" Click="MenuItem_Click"/>
    		<MenuItem Header="Menu" Tag="{Binding ElementName=menu}" Click="MenuItem_Click"/>
    		<MenuItem Header="Menu Item" Tag="{Binding ElementName=anotherMenuItem}" Click="MenuItem_Click"/>
    	</Menu>
    </Grid>
</Window>

Bağlamaları tüm bağlantıları Değiştirmek içinde yer alan haricinde harika bir iş. Çalışma sırasında Çıkış penceresi için bir hata basıyorlar.

Herhangi bir çalışma alternatif yollarını biliyor? Burada neler oluyor?

CEVAP
30 HAZİRAN 2009, Salı


Çok daha basit bir çözüm buldum.

Arkasında UserControl için: kod

NameScope.SetNameScope(contextMenu, NameScope.GetNameScope(this));

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fufko

    fufko

    27 ŞUBAT 2006
  • paikimchung

    paikimchung

    12 Mayıs 2006
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006