Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Windos
win32.3rdparty
win32.directx.audio
win32.directx.ddk
win32.directx.graphics
win32.directx.input
win32.directx.managed
win32.directx.misc
win32.directx.networking
win32.directx.sdk
win32.directx.video
win32.dirx.grap.shaders
win32.gdi
win32.international
win32.kernel
win32.messaging
win32.mmedia
win32.networks
win32.ole
win32.rtc
win32.tapi
win32.tapi.beta
win32.tools
win32.ui
win32.wince
win32.wmi
windows.mediacenter
winfx.aero
winfx.announcements
winfx.avalon
winfx.collaboration
winfx.fundamentals
winfx.general
winfx.indigo
winfx.sdk
winfx.winfs
  
 
date: Wed, 24 Oct 2007 15:11:00 -0700,    group: microsoft.public.windows.developer.winfx.avalon        back       


type not defined when wiring events in xaml   
hello 

i am getting error "type VisualAMS.Welcome is not defined", when building, 
this error only occurs when i enter a name for the class either through blend 
or via the xaml otherwise it builds fine but i cannot wire events via 
controls created in expression blend.  Using vb.net 2005 with the relevant 
.Net 3.0 sdk etc, Expression Blend 1.  This project was created from scratch 
based on the Family.Show app.
Have tried everything, remove the name of the control and it builds fine, 
add it back in and the error returns, don't understand why...

Enclose the following code, can pm on westy@mwest.plus.com and i can provide 
a zip with the project files otherwise general files are below

thanks in advance

Window1.xaml

<Window 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/2006"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:VisualAMS="clr-namespace:VisualAMS"
  x:Class="VisualAMS.Window1"
  Title="VisualAMS" Height="728" Width="960"
  Background="{DynamicResource MainBackgroundBrush}"
  ResizeMode="CanResizeWithGrip">

	<DockPanel LastChildFill="False" Background="{DynamicResource 
MainBackgroundBrush}">
		<Border x:Name="HeaderBorder" Width="Auto" Height="50" 
DockPanel.Dock="Top" BorderBrush="{DynamicResource BorderBrush}" 
BorderThickness="0,0,0,1" Padding="10,0,10,0">
			<DockPanel x:Name="Header" Width="Auto" Height="Auto">
				<TextBlock xml:space="preserve" TextWrapping="Wrap" Margin="0,0,0,5" 
Width="Auto" Height="Auto" FontFamily="Arial" FontSize="24" 
FontWeight="Light" Foreground="{DynamicResource HeaderFontColor}"><Run 
Foreground="#FFCFD3DA">Visual</Run> <Run xml:space="preserve" 
FontWeight="Normal" FontStyle="Italic">AMS</Run></TextBlock>
				<DockPanel x:Name="CustomTextandLogo" DockPanel.Dock="Right" 
ScrollViewer.VerticalScrollBarVisibility="Disabled">
					<Image ClipToBounds="True" HorizontalAlignment="Right" Margin="5,5,5,5" 
x:Name="CustomImage" Width="Auto" Height="40" DockPanel.Dock="Right" 
Grid.IsSharedSizeScope="False" 
ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
					<TextBlock ClipToBounds="True" Margin="5,5,5,5" x:Name="CustomText" 
Width="Auto" Height="40" DockPanel.Dock="Right" FontFamily="Arial" 
FontSize="20" FontWeight="Light" Foreground="{DynamicResource 
HeaderFontColor}" Text="Your Name Here" TextAlignment="Right" 
TextWrapping="Wrap" Grid.IsSharedSizeScope="False" 
ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
				</DockPanel>
			</DockPanel>
		</Border>
		<Border Margin="0,5,0,5" x:Name="MenuBorder" VerticalAlignment="Top" 
Width="Auto" DockPanel.Dock="Top">
			<Menu SnapsToDevicePixels="True" Margin="5,0,0,0" 
VerticalAlignment="Bottom" Style="{DynamicResource MenuStyle}">
				<MenuItem x:Name="FileMenu" InputGestureText="Ctrl+F" Header="_File" 
Style="{DynamicResource MenuItemStyle}">
					<MenuItem x:Name="New" Command="{x:Null}" InputGestureText="Ctrl+N" 
Header="_New" Style="{DynamicResource MenuItemStyle}"/>
					<MenuItem x:Name="Open" Command="{x:Null}" InputGestureText="Ctrl+O" 
Header="_Open" Style="{DynamicResource MenuItemStyle}"/>
					<MenuItem x:Name="Save" Command="{x:Null}" InputGestureText="Ctrl+S" 
Header="_Save" Style="{DynamicResource MenuItemStyle}"/>
					<MenuItem x:Name="Exit" InputGestureText="Ctrl+Q" Header="_Exit" 
Style="{DynamicResource MenuItemStyle}"/>
				</MenuItem>
				<MenuItem x:Name="OptionsMenu" InputGestureText="Ctrl+T" 
Header="_Options" Style="{DynamicResource MenuItemStyle}">
					<MenuItem x:Name="ProgramSettings" InputGestureText="Ctrl+P" 
Header="_Program Settings" Style="{DynamicResource MenuItemStyle}"/>
					<MenuItem x:Name="PersonalSettings" InputGestureText="Ctrl+L" 
Header="Persona_l Settings" Style="{DynamicResource MenuItemStyle}"/>
					<MenuItem x:Name="Admin" InputGestureText="Ctrl+A" Header="_Admin" 
Style="{DynamicResource MenuItemStyle}"/>
				</MenuItem>
				<MenuItem x:Name="HelpMenu" InputGestureText="Ctrl+H" Header="_Help" 
Style="{DynamicResource MenuItemStyle}">
					<MenuItem x:Name="Contents" Header="_Contents" Style="{DynamicResource 
MenuItemStyle}"/>
					<MenuItem x:Name="Tips" Header="_Tips" Style="{DynamicResource 
MenuItemStyle}"/>
					<MenuItem x:Name="About" Header="_About" Style="{DynamicResource 
MenuItemStyle}"/>
				</MenuItem>
			</Menu>
		</Border>
		<Grid x:Name="MainGrid" Width="Auto" DockPanel.Dock="Top" 
Grid.IsSharedSizeScope="True">
			<Grid HorizontalAlignment="Left" Margin="10,0,10,10" x:Name="DiagramPane" 
VerticalAlignment="Top" Width="Auto" Height="Auto">
				<Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
Width="Auto" Height="Auto" Background="{DynamicResource 
DiagramGradientBrush}" BorderBrush="#FF747474" BorderThickness="1,1,1,1" 
CornerRadius="10,10,10,10"/>
			</Grid>
			
			<VisualAMS:Welcome VerticalAlignment="Center" 
HorizontalAlignment="Center" x:Name="WelcomeUserControl" 
NewFileButtonClick="WelcomeUserControl_NewFileButtonClick" 
OpenFileButtonClick="WelcomeUserControl_OpenFileButtonClick" 
OpenRecentFileButtonClick="WelcomeUserControl_OpenRecentFileButtonClick"/>
			
    </Grid>
	</DockPanel>
</Window>

Welcome.xaml

<UserControl
    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/2006" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" 
    x:Class="Welcome"
    >

  <UserControl.Resources>
    <DataTemplate x:Key="RecentFilesDataTemplate">
      <Button Content="{TemplateBinding ContentPresenter.Content}"/>
    </DataTemplate>

    <Style x:Key="WelcomeButtonStyle" TargetType="{x:Type Button}">
      <Setter Property="Foreground" Value="#FFFFFF" />
      <Setter Property="Width" Value="Auto"/>
      <Setter Property="FontSize" Value="16"/>
      <Setter Property="FontFamily" Value="Calibri"/>
      <Setter Property="FontWeight" Value="Bold"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Button}">
            <Border x:Name="bd" CornerRadius="3,3,3,3" Padding="5,0,0,0">
              <ContentPresenter SnapsToDevicePixels="True" 
VerticalAlignment="Stretch" RecognizesAccessKey="True" Margin="5,1,0,1"/>
            </Border>
            <ControlTemplate.Triggers>
              <Trigger Property="IsKeyboardFocused" Value="true"/>
              <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Cursor" Value="Hand"/>
                <Setter Property="Background" TargetName="bd" 
Value="#FF29367B"/>
              </Trigger>
            </ControlTemplate.Triggers>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

    <Style x:Key="RecentFileButtonStyle" TargetType="{x:Type Button}">
      <Setter Property="Foreground" Value="#FFFFFF" />
      <Setter Property="Width" Value="Auto"/>
      <Setter Property="FontSize" Value="16"/>
      <Setter Property="FontFamily" Value="Calibri"/>
      <Setter Property="FontWeight" Value="Bold"/>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Button}">
            <Border x:Name="bd" CornerRadius="3,3,3,3" Padding="20,0,0,0">
              <ContentPresenter SnapsToDevicePixels="True" 
VerticalAlignment="Stretch" RecognizesAccessKey="True" Margin="5,1,0,1"/>
            </Border>
            <ControlTemplate.Triggers>
              <Trigger Property="IsKeyboardFocused" Value="true"/>
              <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Cursor" Value="Hand"/>
                <Setter Property="Background" TargetName="bd" 
Value="#FF29367B"/>
              </Trigger>
            </ControlTemplate.Triggers>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

  </UserControl.Resources>
  <StackPanel>

    <!-- Header -->
    <Border Width="300" Padding="5,0,5,0" Opacity="0.8" x:Name="Header" 
Background="{DynamicResource WelcomeBackgroundBrush}" 
BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1,1,1,0" 
CornerRadius="5,5,0,0" HorizontalAlignment="Center" >
      <Grid>
        <Rectangle Fill="{DynamicResource WelcomeHeaderBg}" Height="69"/>
        <TextBlock Padding="4,0,0,0" Text="Welcome" TextWrapping="Wrap" 
Foreground="{DynamicResource WelcomeHeaderFontColor}" FontSize="18" 
FontWeight="Bold" x:Name="HeaderTextBlock" HorizontalAlignment="Left" 
Margin="3.5,0,0,2" VerticalAlignment="Bottom"/>
      </Grid>
    </Border>

    <!-- Content -->
    <Border BorderBrush="{DynamicResource BorderBrush}" 
BorderThickness="1,1,1,1">
      <Grid Margin="0,0,0,0" x:Name="ContentGrid" 
Background="{DynamicResource InputBackgroundBrush}">

        <Grid.RowDefinitions>
          <RowDefinition Height="Auto"/>
          <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <StackPanel HorizontalAlignment="Stretch" Margin="5,20,5,10">
          <Button Margin="0,0,0,5" x:Name="NewButton" Content="New" 
Click="NewButton_Click" IsDefault="True" HorizontalAlignment="Stretch" 
Style="{DynamicResource WelcomeButtonStyle}" Width="Auto"/>
          <Button Margin="0,0,0,5" x:Name="OpenButton" Content="Open..." 
Click="OpenButton_Click" HorizontalAlignment="Stretch" 
Style="{DynamicResource WelcomeButtonStyle}" Width="Auto"/>
        </StackPanel>

        <GridSplitter IsEnabled="False" HorizontalAlignment="Stretch" 
VerticalAlignment="Bottom" Height="1" Background="#FF3D4976" 
Margin="2,0,2,0"/>

        <Label Content="Open Recent" HorizontalAlignment="Left" 
VerticalAlignment="Top" Grid.Row="1" Margin="10,0,0,0" 
Foreground="#FFB5C8D8"/>

        <StackPanel HorizontalAlignment="Stretch" 
VerticalAlignment="Stretch" Grid.Row="1" x:Name="RecentFilesStackPanel" 
Margin="5,30.87,5,10"/>

      </Grid>
    </Border>

    <!-- Footer -->
    <Border Background="{DynamicResource BackgroundBrush}" Height="35" 
x:Name="Footer" Opacity="0.8" BorderBrush="{DynamicResource BorderBrush}" 
BorderThickness="1,0,1,1" CornerRadius="0,0,5,5">
      <Label x:Name="VersionLabel" Margin="10,0,0,0" Foreground="#FFB5C8D8" 
Content="Version "/>
    </Border>

  </StackPanel>
</UserControl>

Welcome.vb

' Interaction logic for Welcome.xaml
' Control that will display initial welcome screen
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Globalization

Partial Public Class Welcome
    Inherits System.Windows.Controls.UserControl

#Region "Constructors"

    Public Sub New()
        InitializeComponent()

        ' Construct inital methods
        CreateRecentFiles()
        DisplayVersion()

    End Sub

#End Region

#Region "Private Methods"

    ' Return list of recently used files (MRU)
    Private Sub CreateRecentFiles()

        For Each File As String In App.MRUList
            Dim FileButton As New Button

            FileButton.Content = System.IO.Path.GetFileName(File)
            FileButton.CommandParameter = File
            FileButton.Style = CType(FindResource("RecentFileButtonStyle"), 
Style)

            AddHandler FileButton.Click, New RoutedEventHandler(AddressOf 
OpenRecentFile_Click)

            ' Add button to stack panel
            RecentFilesStackPanel.Children.Add(FileButton)

        Next

    End Sub

    ' Return version of currently used assembly
    Private Sub DisplayVersion()

        Dim version As Version = 
System.Reflection.Assembly.GetExecutingAssembly.GetName.Version

        VersionLabel.Content = VersionLabel.Content.ToString & " " & 
String.Format(CultureInfo.CurrentCulture, _
                                "{0}.{1}.{2}", version.Major, version.Minor, 
version.Build)

    End Sub

#End Region

#Region "Routed Events"

    Public Shared ReadOnly OpenRecentFileButtonClickEvent As RoutedEvent = 
EventManager.RegisterRoutedEvent("OpenRecentFileButtonClick", _
                            RoutingStrategy.Bubble, 
GetType(RoutedEventHandler), GetType(Welcome))

    Public Shared ReadOnly NewFileButtonClickEvent As RoutedEvent = 
EventManager.RegisterRoutedEvent("NewFileButtonClick", _
                            RoutingStrategy.Bubble, 
GetType(RoutedEventHandler), GetType(Welcome))

    Public Shared ReadOnly OpenFileButtonClickEvent As RoutedEvent = 
EventManager.RegisterRoutedEvent("OpenFileButtonClick", _
                            RoutingStrategy.Bubble, 
GetType(RoutedEventHandler), GetType(Welcome))

    ' Expose the event for this control's container
    Public Custom Event OpenRecentFileButtonClick As RoutedEventHandler
        AddHandler(ByVal value As RoutedEventHandler)
            Me.AddHandler(Welcome.OpenRecentFileButtonClickEvent, value)
        End AddHandler

        RemoveHandler(ByVal value As RoutedEventHandler)
            Me.RemoveHandler(Welcome.OpenRecentFileButtonClickEvent, value)
        End RemoveHandler

        RaiseEvent(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
            Me.RaiseEvent(e)
        End RaiseEvent
    End Event

    Public Custom Event NewFileButtonClick As RoutedEventHandler
        AddHandler(ByVal value As RoutedEventHandler)
            Me.AddHandler(Welcome.NewFileButtonClickEvent, value)
        End AddHandler

        RemoveHandler(ByVal value As RoutedEventHandler)
            Me.RemoveHandler(Welcome.NewFileButtonClickEvent, value)
        End RemoveHandler

        RaiseEvent(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
            Me.RaiseEvent(e)
        End RaiseEvent
    End Event

    Public Custom Event OpenFileButtonClick As RoutedEventHandler
        AddHandler(ByVal value As RoutedEventHandler)
            Me.AddHandler(Welcome.OpenRecentFileButtonClickEvent, value)
        End AddHandler

        RemoveHandler(ByVal value As RoutedEventHandler)
            Me.RemoveHandler(Welcome.OpenRecentFileButtonClickEvent, value)
        End RemoveHandler

        RaiseEvent(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
            Me.RaiseEvent(e)
        End RaiseEvent
    End Event

#End Region

#Region "Event Handlers"

    Private Sub OpenRecentFile_Click(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
        [RaiseEvent](New RoutedEventArgs(OpenRecentFileButtonClickEvent, 
sender))
    End Sub

    Private Sub NewButton_Click(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
        [RaiseEvent](New RoutedEventArgs(NewFileButtonClickEvent, sender))
    End Sub

    Private Sub OpenButton_Click(ByVal sender As Object, ByVal e As 
System.Windows.RoutedEventArgs)
        [RaiseEvent](New RoutedEventArgs(OpenFileButtonClickEvent, sender))
    End Sub

#End Region

End Class

Welcome.vb

Imports System
Imports System.IO
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Navigation

Namespace VisualAMS

    Partial Public Class Window1

        Public Sub New()

            InitializeComponent()

            ' Insert code required on object creation below this point.

        End Sub

        Private Sub WelcomeUserControl_NewFileButtonClick(ByVal sender As 
System.Object, ByVal e As System.Windows.RoutedEventArgs)

        End Sub

        Private Sub WelcomeUserControl_OpenFileButtonClick(ByVal sender As 
System.Object, ByVal e As System.Windows.RoutedEventArgs)

        End Sub

        Private Sub WelcomeUserControl_OpenRecentFileButtonClick(ByVal 
sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)

        End Sub

    End Class

End Namespace
date: Wed, 24 Oct 2007 15:11:00 -0700   author:   Westy

Re: type not defined when wiring events in xaml   
I appear to have the same problem. However it works when written in C#.
I am converting the OutlookUI HOL tutorial to VB.Net and have run into
this problem of code not compiling when x:Name="foo" added to
UserControl that has triggers.
Has anyone found a solution? 
Regards,
Jim Fitzwater


-- 
sanjosefitz
date: Wed, 23 Jan 2008 18:32:13 -0600   author:   sanjosefitz

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us