我正在尝试编写自己的UserControl - 一个“可编辑的”ComboBox,因此用户可以写出他想要的项目的名称(尽管与我的问题无关)。我决定用User Control(而不是自定义控件)实现它,所以我创建了以下xaml:
<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>
(我删除了名称空间以缩短xaml)。 我在主页上使用了我的新控件,如下所示:
<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>
正如您所看到的,我使用Button和我的新控件创建了一个简单的StackPanel布局。在设计师看来,一切看起来都很正常 - 我看到下面的Button和我的控件。但是当我运行它时 - 只显示我的控件。 有人可以向我解释一下我错过了什么吗?
答案 0 :(得分:1)
我已经尝试过您的代码并在我的系统中正常运行。尝试更改浏览器。您使用的是哪个版本的Silverlight。我试过SilverLight 4。