WPF中的UserControl似乎已禁用

时间:2013-12-30 21:54:21

标签: c# image button user-controls disabled-control

我在WPF&中做了一个UserControl。 C#,稍后添加到ItemsControl。

我的问题是我在UserControl中需要一个按钮和一个图像,但是当我在UserControl中删除一个Button并进行编译时,按钮似乎被禁用了。并且,如果我将任何图像控件添加到UserControl并尝试设置ImageSource,则不会显示图像。我试图将我的控件直接添加到主窗口(在ItemsControl之外),但结果是一样的。

我做错了什么?

XALM代码:

<UserControl x:Class="MyProject.MyCustomClass"
         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" 
         MinHeight="100" MinWidth="400"
         HorizontalAlignment="Stretch" IsHitTestVisible="False">
<Grid x:Name="MainGrid" Background="White">


    <Border BorderThickness="0,0,0,1" BorderBrush="Black">
    </Border>
    <TextBlock x:Name="Header1" HorizontalAlignment="Left" Height="33" Margin="105,10,88,0" TextWrapping="NoWrap" Text="Header1" VerticalAlignment="Top" FontSize="22" TextTrimming="CharacterEllipsis"/>
    <TextBlock x:Name="Header2" HorizontalAlignment="Left" Height="20" Margin="105,43,0,0" TextWrapping="NoWrap" Text="Header2" VerticalAlignment="Top" FontSize="14" TextTrimming="CharacterEllipsis"/>
    <Button Height="80" Margin="316,10,5,0" VerticalAlignment="Top" Width="74" VerticalContentAlignment="Bottom" HorizontalAlignment="Right" Click="Button_Click">
        <TextBlock TextAlignment="Center">Add to<LineBreak/>the list</TextBlock>
    </Button>
    <Image x:Name="Image1" HorizontalAlignment="Left" Height="80" Margin="10,10,0,0" VerticalAlignment="Top" Width="80" Stretch="UniformToFill" Source="pack://application:,,,/MyImage.png" />
<!--I've already tried to set Source form app resources but it does not work-->




</Grid>

在我的C#代码中,我不会修改任何特殊内容。

2 个答案:

答案 0 :(得分:0)

对于图像问题,请尝试右键单击解决方案资源管理器中的图像,然后单击“属性”并将“构建操作”设置为“资源”。

答案 1 :(得分:0)

您需要将UserControl的IsHitTestVisible属性设置为True。如果此属性设置为false,则表示UserControl不会检测到任何单击事件。

对于图像,请确保在解决方案资源管理器中将png文件添加到解决方案中。