2010-11-21 9 views
0

Ich versuche, mein eigenes UserControl zu schreiben - eine "editierbare" ComboBox, so dass der Benutzer den Namen des gewünschten Artikels schreiben kann (nicht relevant für meine Frage). Ich beschloss, es mit einem User Control zu implementieren (und nicht eine individuelle Steuerung), so dass ich erstellt die folgende XAML:Meine Silveright-Seite zeigt nur meine benutzerdefinierte UserControl

<UserControl x:Class="EnhancedCombBox.Silverlight.EnhancedComboBox"> 
    <Canvas Height="25" Width="160"> 
     <ComboBox x:Name="combo" Width="160" Height="25" SelectionChanged="combo_SelectionChanged" ItemsSource="{Binding}"></ComboBox> 
     <TextBox x:Name="txtBox" Height="25" Width="140" TextChanged="txtBox_TextChanged" KeyUp="txtBox_KeyUp" KeyDown="txtBox_KeyDown" GotFocus="txtBox_GotFocus"></TextBox> 
    </Canvas> 

(ich die Namespaces entfernt die XAML kürzer zu machen). Früher habe ich meine neue Steuerung auf meinem Haupt-Seite wie folgt:

<UserControl x:Class="ComboBox.Silverlight.MainPage" 
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:sdk="clr-namespace:EnhancedCombBox.Silverlight;assembly=EnhancedCombBox.Silverlight" 
mc:Ignorable="d" 
d:DesignHeight="300" d:DesignWidth="400"> 

<StackPanel> 
    <Button>OK</Button> 
    <sdk:EnhancedComboBox></sdk:EnhancedComboBox> 
</StackPanel> 

Wie Sie sehen können, habe ich eine einfache Stackpanel-Layout mit einem Knopf und mein neues Steuerelement erstellt. Auf dem Designer sieht alles normal aus - ich sehe sowohl den Button als auch meine Steuerung darunter. Aber wenn ich es starte - nur meine Kontrolle wird angezeigt. Kann mir bitte jemand erklären, was ich vermisse?

Antwort

1

Ich habe Ihren Code ausprobiert und in meinem System richtig funktioniert. Versuchen Sie den Browser zu wechseln. Welche Version von Silverlight verwenden Sie? Ich habe in SilverLight 4 versucht.

+0

Ich erstellte ein neues Projekt und kopierte den Code - funktioniert gut. Es scheint so, als ob das Webprojekt ein wenig korrupt war und auf ein altes Projekt hinwies: - | Danke, für deine Zeit - ich schätze es sehr! –

Verwandte Themen