XAML命名空间以数字开头

时间:2015-01-07 22:45:40

标签: wpf vb.net xaml namespaces

我已经继承Button并尝试将其添加到我的主窗口。

它不会显示在Toolbox中。我曾多次尝试过重建。

我尝试将xmlns:dc="clr-namespace:123Lettersxmlns:dc="clr-namespace:123Letters;assembly=123Letters添加到MainWindow

我的MainWindow是:

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Name="MainWin"
        Title="123 Letters">

</Window>

我的WeatherStationButton是:

<Button x:Class="WeatherStationButton"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        mc:Ignorable="d" 
        d:DesignHeight="300" d:DesignWidth="300">
    <Grid>

    </Grid>
</Button>

Public Class WeatherStationButton
    Inherits Button

    Public Property WeatherStation As tblWeather
End Class

这是超级简单的东西。我相信这是因为XAML不允许在命名空间的第一部分中使用数字,但是我找不到任何对任何地方的引用,所以我问我是做错了什么还是这个XAML的“功能”?

1 个答案:

答案 0 :(得分:0)

刚才意识到我可以添加我的答案。

如果您的项目名称为123Letters,则需要在第一个数字之前添加下划线,并在XAML中引用它,例如_123Letters

您的clr-namespace声明将是:

xmlns:dc="clr-namespace:_123Letters"

你可以将你继承的按钮添加到你的MainWindow:

<dc:WeatherStationButton x:Name="btnWS" />