【发布时间】:2014-06-08 07:54:51
【问题描述】:
我需要将画布可见性从可见切换为隐藏。如果我可以手动更改画布的可见性 =“隐藏”并运行程序并且画布消失了,那么我想我可以用一个按钮来切换它。这是我到目前为止所拥有的。任何帮助,将不胜感激。
XAML
<Canvas Background="Transparent" Height="200" HorizontalAlignment="Left" Margin="169.5,132.5,0,0" Name="Canvas1" VerticalAlignment="Top" Width="200" Visibility="Visible">
<Line X1="100" Y1="0" X2="100" Y2="75" Stroke="Red" StrokeThickness="0.95" />
<!--Top long vertical line> /-->
<Line X1="100" Y1="95" X2="100" Y2="105" Stroke="Red" StrokeThickness="0.95" />
<!--Crosshair vertical line> /-->
<Line X1="100" Y1="125" X2="100" Y2="200" Stroke="Red" StrokeThickness="0.95" />
<!--Bottom long vertical line> /-->
<Line X1="0" Y1="100" X2="75" Y2="100" Stroke="Red" StrokeThickness="0.75" />
<!--Left long horizontal line> /-->
<Line X1="95" Y1="100" X2="105" Y2="100" Stroke="Red" StrokeThickness="0.75" />
<!--Crosshair horizontal line> /-->
<Line X1="125" Y1="100" X2="200" Y2="100" Stroke="Red" StrokeThickness="0.75" />
<!--Right long horizontal line> /-->
<!--Ellipse
Canvas.Top="50"
Canvas.Left="50"
Height="100"
Width="100"
StrokeThickness="0.75"
Stroke="Red"/-->
</Canvas>
<Canvas Height="73" HorizontalAlignment="Right" Name="Canvas2" VerticalAlignment="Top" Width="69">
<Image Height="56" Name="Image1" Stretch="Fill" Width="48" Canvas.Left="7" Canvas.Top="8" Source="/HornetView;component/Images/imageedit_6_2746796678.png" />
</Canvas>
</Grid>
</Window>
VB
Public Sub Button1_Checked_1(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Checked
Dim chkstat As Integer
chkstat = 0
If Button1.IsChecked = True And chkstat = 0 Then
Canvas1.Visibility = Windows.Visibility.Visible
chkstat = 1
Else
Canvas1.Visibility = Windows.Visibility.Hidden
End If
End Sub
【问题讨论】:
-
你试过 Canvas1.Visibility = Visibility.Hidden; ?
-
我为 Toggle 按钮添加了 VB 部分,由于某种原因,我无法让 'IsChecked = False 函数工作,我只能让 If ~IsChecked = True 工作。所以我改成那个了,还是不行。
标签: wpf canvas toggle visibility