Add x:Name property to custom control in VB project (#1340)

This commit is contained in:
Tris Shores
2022-03-24 13:33:08 -07:00
committed by GitHub
parent 03760a4124
commit 907918d922
2 changed files with 137 additions and 139 deletions
@@ -1,5 +1,5 @@
<Window x:Class="CodeSampleVb.MainWindow" <Window x:Class="MainWindow"
xmlns:local="clr-namespace:CodeSampleVb.CodeSampleVb" xmlns:local="clr-namespace:CodeSampleVb"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Property value inheritance" Height="200" Width="400" Background="Yellow"> Title="Property value inheritance" Height="200" Width="400" Background="Yellow">
@@ -18,7 +18,7 @@
</Canvas> </Canvas>
<!--</XamlElementTree>--> <!--</XamlElementTree>-->
<local:Canvas_AllowDropInheritDisabled Grid.Column="1" Margin="20" Background="Orange" AllowDrop="True"> <local:Canvas_AllowDropInheritDisabled x:Name="canvas11" Grid.Column="1" Margin="20" Background="Orange" AllowDrop="True">
<StackPanel Name="stackPanel11" Margin="20" Background="Green"> <StackPanel Name="stackPanel11" Margin="20" Background="Green">
<Label Name="label11" Margin="20" Height="40" Width="40" Background="Blue"/> <Label Name="label11" Margin="20" Height="40" Width="40" Background="Blue"/>
</StackPanel> </StackPanel>
@@ -1,157 +1,156 @@
Namespace CodeSampleVb Partial Public Class MainWindow
Partial Public Class MainWindow Inherits Window
Inherits Window
Public Sub New() Public Sub New()
InitializeComponent() InitializeComponent()
' Code tests. ' Code tests.
TestAllowDropInheritanceInXaml() TestAllowDropInheritanceInXaml()
TestAllowDropInheritanceInCode() TestAllowDropInheritanceInCode()
TestIsTransparentInheritanceInCode() TestIsTransparentInheritanceInCode()
TestDependencyPropertyWrapper() TestDependencyPropertyWrapper()
End Sub End Sub
Private Sub TestAllowDropInheritanceInXaml() Private Sub TestAllowDropInheritanceInXaml()
' Test enabled property value inheritance. ' Test enabled property value inheritance.
Dim fpm1 As FrameworkPropertyMetadata = Dim fpm1 As FrameworkPropertyMetadata =
CType(AllowDropProperty. CType(AllowDropProperty.
GetMetadata(GetType(Canvas)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas)), FrameworkPropertyMetadata)
Debug.Assert(fpm1.[Inherits] = True) Debug.Assert(fpm1.[Inherits] = True)
Debug.Assert(canvas1.AllowDrop = True) Debug.Assert(canvas1.AllowDrop = True)
Debug.Assert(stackPanel1.AllowDrop = True) Debug.Assert(stackPanel1.AllowDrop = True)
Debug.Assert(label1.AllowDrop = True) Debug.Assert(label1.AllowDrop = True)
' Test disabled property value inheritance. ' Test disabled property value inheritance.
Dim fpm11 As FrameworkPropertyMetadata = Dim fpm11 As FrameworkPropertyMetadata =
CType(AllowDropProperty. CType(AllowDropProperty.
GetMetadata(GetType(Canvas_AllowDropInheritDisabled)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas_AllowDropInheritDisabled)), FrameworkPropertyMetadata)
Debug.Assert(fpm11.[Inherits] = False) Debug.Assert(fpm11.[Inherits] = False)
' Debug.Assert(canvas11.AllowDrop = True) Debug.Assert(canvas11.AllowDrop = True)
Debug.Assert(stackPanel11.AllowDrop = False) Debug.Assert(stackPanel11.AllowDrop = False)
Debug.Assert(label11.AllowDrop = False) Debug.Assert(label11.AllowDrop = False)
End Sub End Sub
Private Shared Sub TestAllowDropInheritanceInCode() Private Shared Sub TestAllowDropInheritanceInCode()
'<CodeElementTree> '<CodeElementTree>
Dim canvas2 As New Canvas With { Dim canvas2 As New Canvas With {
.AllowDrop = True .AllowDrop = True
} }
Dim stackPanel2 As New StackPanel() Dim stackPanel2 As New StackPanel()
Dim label2 As New Label() Dim label2 As New Label()
canvas2.Children.Add(stackPanel2) canvas2.Children.Add(stackPanel2)
stackPanel2.Children.Add(label2) stackPanel2.Children.Add(label2)
'</CodeElementTree> '</CodeElementTree>
' Test enabled property value inheritance. ' Test enabled property value inheritance.
Dim fpm2 As FrameworkPropertyMetadata = Dim fpm2 As FrameworkPropertyMetadata =
CType(AllowDropProperty. CType(AllowDropProperty.
GetMetadata(GetType(Canvas)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas)), FrameworkPropertyMetadata)
Debug.Assert(fpm2.[Inherits] = True) Debug.Assert(fpm2.[Inherits] = True)
Debug.Assert(canvas2.AllowDrop = True) Debug.Assert(canvas2.AllowDrop = True)
Debug.Assert(stackPanel2.AllowDrop = True) Debug.Assert(stackPanel2.AllowDrop = True)
Debug.Assert(label2.AllowDrop = True) Debug.Assert(label2.AllowDrop = True)
' Test disabled property value inheritance. ' Test disabled property value inheritance.
Dim canvas3 As New Canvas_AllowDropInheritDisabled With { Dim canvas3 As New Canvas_AllowDropInheritDisabled With {
.AllowDrop = True .AllowDrop = True
} }
Dim stackPanel3 As New StackPanel() Dim stackPanel3 As New StackPanel()
Dim label3 As New Label() Dim label3 As New Label()
canvas3.Children.Add(stackPanel3) canvas3.Children.Add(stackPanel3)
stackPanel3.Children.Add(label3) stackPanel3.Children.Add(label3)
Dim fpm3 As FrameworkPropertyMetadata = Dim fpm3 As FrameworkPropertyMetadata =
CType(AllowDropProperty. CType(AllowDropProperty.
GetMetadata(GetType(Canvas_AllowDropInheritDisabled)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas_AllowDropInheritDisabled)), FrameworkPropertyMetadata)
Debug.Assert(fpm3.[Inherits] = False) Debug.Assert(fpm3.[Inherits] = False)
Debug.Assert(canvas3.AllowDrop = True) Debug.Assert(canvas3.AllowDrop = True)
Debug.Assert(stackPanel3.AllowDrop = False) Debug.Assert(stackPanel3.AllowDrop = False)
Debug.Assert(label3.AllowDrop = False) Debug.Assert(label3.AllowDrop = False)
End Sub End Sub
Private Shared Sub TestIsTransparentInheritanceInCode() Private Shared Sub TestIsTransparentInheritanceInCode()
' Test enabled property value inheritance. ' Test enabled property value inheritance.
Dim myCanvas1 As New Canvas_IsTransparentInheritEnabled With { Dim myCanvas1 As New Canvas_IsTransparentInheritEnabled With {
.IsTransparent = True .IsTransparent = True
} }
Dim myCanvas2 As New Canvas_IsTransparentInheritEnabled2() Dim myCanvas2 As New Canvas_IsTransparentInheritEnabled2()
Dim myCanvas3 As New Canvas_IsTransparentInheritEnabled3() Dim myCanvas3 As New Canvas_IsTransparentInheritEnabled3()
myCanvas1.Children.Add(myCanvas2) myCanvas1.Children.Add(myCanvas2)
myCanvas2.Children.Add(myCanvas3) myCanvas2.Children.Add(myCanvas3)
Dim fpm1 As FrameworkPropertyMetadata = Dim fpm1 As FrameworkPropertyMetadata =
CType(Canvas_IsTransparentInheritEnabled.IsTransparentProperty. CType(Canvas_IsTransparentInheritEnabled.IsTransparentProperty.
GetMetadata(GetType(Canvas_IsTransparentInheritEnabled)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas_IsTransparentInheritEnabled)), FrameworkPropertyMetadata)
Debug.Assert(fpm1.[Inherits] = True) Debug.Assert(fpm1.[Inherits] = True)
Debug.Assert(myCanvas1.IsTransparent = True) Debug.Assert(myCanvas1.IsTransparent = True)
Debug.Assert(myCanvas2.IsTransparent = True) Debug.Assert(myCanvas2.IsTransparent = True)
Debug.Assert(myCanvas3.IsTransparent = True) Debug.Assert(myCanvas3.IsTransparent = True)
' Test disabled property value inheritance. ' Test disabled property value inheritance.
Dim myCanvas4 As New Canvas_IsTransparentInheritDisabled With { Dim myCanvas4 As New Canvas_IsTransparentInheritDisabled With {
.IsTransparent = True .IsTransparent = True
} }
Dim myCanvas5 As New Canvas_IsTransparentInheritDisabled2() Dim myCanvas5 As New Canvas_IsTransparentInheritDisabled2()
Dim myCanvas6 As New Canvas_IsTransparentInheritDisabled3() Dim myCanvas6 As New Canvas_IsTransparentInheritDisabled3()
myCanvas4.Children.Add(myCanvas5) myCanvas4.Children.Add(myCanvas5)
myCanvas5.Children.Add(myCanvas6) myCanvas5.Children.Add(myCanvas6)
Dim fpm2 As FrameworkPropertyMetadata = Dim fpm2 As FrameworkPropertyMetadata =
CType(Canvas_IsTransparentInheritDisabled.IsTransparentProperty. CType(Canvas_IsTransparentInheritDisabled.IsTransparentProperty.
GetMetadata(GetType(Canvas_IsTransparentInheritDisabled)), FrameworkPropertyMetadata) GetMetadata(GetType(Canvas_IsTransparentInheritDisabled)), FrameworkPropertyMetadata)
Debug.Assert(fpm2.[Inherits] = False) Debug.Assert(fpm2.[Inherits] = False)
Debug.Assert(myCanvas4.IsTransparent = True) Debug.Assert(myCanvas4.IsTransparent = True)
Debug.Assert(myCanvas5.IsTransparent = False) Debug.Assert(myCanvas5.IsTransparent = False)
Debug.Assert(myCanvas6.IsTransparent = False) Debug.Assert(myCanvas6.IsTransparent = False)
End Sub End Sub
Private Shared Sub TestDependencyPropertyWrapper() Private Shared Sub TestDependencyPropertyWrapper()
' Test Canvas_IsTransparentInheritEnabled. ' Test Canvas_IsTransparentInheritEnabled.
Dim myCanvas1 As New Canvas_IsTransparentInheritEnabled() Dim myCanvas1 As New Canvas_IsTransparentInheritEnabled()
Dim myCanvas2 As New Canvas_IsTransparentInheritEnabled2() Dim myCanvas2 As New Canvas_IsTransparentInheritEnabled2()
Dim myCanvas3 As New Canvas_IsTransparentInheritEnabled3() Dim myCanvas3 As New Canvas_IsTransparentInheritEnabled3()
' Test property wrapper. ' Test property wrapper.
myCanvas1.IsTransparent = True myCanvas1.IsTransparent = True
myCanvas2.IsTransparent = False myCanvas2.IsTransparent = False
myCanvas3.IsTransparent = True myCanvas3.IsTransparent = True
Debug.Assert(myCanvas1.IsTransparent = True) Debug.Assert(myCanvas1.IsTransparent = True)
Debug.Assert(myCanvas2.IsTransparent = False) Debug.Assert(myCanvas2.IsTransparent = False)
Debug.Assert(myCanvas3.IsTransparent = True) Debug.Assert(myCanvas3.IsTransparent = True)
' Test individual get/set accessors. ' Test individual get/set accessors.
Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas1, False) Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas1, False)
Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas2, True) Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas2, True)
Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas3, False) Canvas_IsTransparentInheritEnabled.SetIsTransparent(myCanvas3, False)
Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas1) = False) Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas1) = False)
Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas2) = True) Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas2) = True)
Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas3) = False) Debug.Assert(Canvas_IsTransparentInheritEnabled.GetIsTransparent(myCanvas3) = False)
' Test Canvas_IsTransparentInheritDisabled. ' Test Canvas_IsTransparentInheritDisabled.
Dim myCanvas4 As New Canvas_IsTransparentInheritDisabled() Dim myCanvas4 As New Canvas_IsTransparentInheritDisabled()
Dim myCanvas5 As New Canvas_IsTransparentInheritDisabled2() Dim myCanvas5 As New Canvas_IsTransparentInheritDisabled2()
Dim myCanvas6 As New Canvas_IsTransparentInheritDisabled3() Dim myCanvas6 As New Canvas_IsTransparentInheritDisabled3()
' Test property wrapper. ' Test property wrapper.
myCanvas4.IsTransparent = True myCanvas4.IsTransparent = True
myCanvas5.IsTransparent = False myCanvas5.IsTransparent = False
myCanvas6.IsTransparent = True myCanvas6.IsTransparent = True
Debug.Assert(myCanvas4.IsTransparent = True) Debug.Assert(myCanvas4.IsTransparent = True)
Debug.Assert(myCanvas5.IsTransparent = False) Debug.Assert(myCanvas5.IsTransparent = False)
Debug.Assert(myCanvas6.IsTransparent = True) Debug.Assert(myCanvas6.IsTransparent = True)
' Test individual get/set accessors. ' Test individual get/set accessors.
Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas4, False) Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas4, False)
Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas5, True) Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas5, True)
Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas6, False) Canvas_IsTransparentInheritDisabled.SetIsTransparent(myCanvas6, False)
Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas4) = False) Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas4) = False)
Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas5) = True) Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas5) = True)
Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas6) = False) Debug.Assert(Canvas_IsTransparentInheritDisabled.GetIsTransparent(myCanvas6) = False)
End Sub End Sub
End Class End Class
Public Class Canvas_AllowDropInheritDisabled Public Class Canvas_AllowDropInheritDisabled
Inherits Canvas Inherits Canvas
Shared Sub New() Shared Sub New()
' Disable property value inheritance in a new property metadata object. ' Disable property value inheritance in a new property metadata object.
@@ -250,4 +249,3 @@
Public Class Canvas_IsTransparentInheritDisabled3 Public Class Canvas_IsTransparentInheritDisabled3
Inherits Canvas_IsTransparentInheritDisabled Inherits Canvas_IsTransparentInheritDisabled
End Class End Class
End Namespace