WPF: как использовать local со своим классом?

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

WPF: как использовать local со своим классом?

Сообщение Admiralisimys » 25.08.2012 (Сб) 19:41

Здраствуйте.

Допустим есть класс
Код: Выделить всё
'MyRadioButton.vb
Namespace Project1
    Public Class MyRadioButton
        Inherits System.Windows.Controls.RadioButton
'...
    End Class
End Namespace

Отдельно есть разметка для класса пользовательского элемента управления
Код: Выделить всё
<!--Settings.XAML-->
<UserControl
    x:Class="Project1.SettingsDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Project1"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
   
        <Grid >
<!--...-->
                <Grid.Resources>

                <!--Style TargetType="local:MyRadioButton">
                    <Setter Property="Margin" Value="0 6 12 6" />
                </Style-->
            </Grid.Resources>
            <!--local:MyRadioButton Grid.Row="0" Grid.Column="0">

            </local:MyRadioButton-->
        </Grid>
</UserControl>

замена xmlns:local="clr-namespace:Project1" на xmlns:local="using:Project1" не даёт увидеть MyRadioButton. Почему так?

p.s.
Использую VB.NET 2010, работающий вариант видел в VB.NET2012 (.NET4.5 в WinRT), здесь (WPF) другие правила?

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: WPF: как использовать local со своим классом?

Сообщение FireFenix » 25.08.2012 (Сб) 21:00

Код: Выделить всё
Class MainWindow

End Class

Namespace Bbb
    Public Class TextBbb : Inherits System.Windows.Controls.TextBlock

    End Class
End Namespace


Код: Выделить всё
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApplication1.Bbb"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <local:TextBbb>
           
        </local:TextBbb>
    </Grid>
</Window>

Всё ок.

Возможно тебе нужно собрать проект, чтобы создался рефренс, тогда не будет ошибки на неймспейс

Использую VB.NET 2010, работающий вариант видел в VB.NET2012 (.NET4.5 в WinRT), здесь (WPF) другие правила?

Среда другая, язык одинаковый => синтаксис и принципы одинаковые
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: WPF: как использовать local со своим классом?

Сообщение Admiralisimys » 25.08.2012 (Сб) 21:51

Да это (указание полностью в неймспейса) меняет дело.
FireFenix писал(а):
Код: Выделить всё
xmlns:local="clr-namespace:WpfApplication1.Bbb"

Спасибо FireFenix!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43

    TopList