我在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#代码中,我不会修改任何特殊内容。
答案 0 :(得分:0)
对于图像问题,请尝试右键单击解决方案资源管理器中的图像,然后单击“属性”并将“构建操作”设置为“资源”。
答案 1 :(得分:0)
您需要将UserControl的IsHitTestVisible
属性设置为True
。如果此属性设置为false,则表示UserControl不会检测到任何单击事件。
对于图像,请确保在解决方案资源管理器中将png文件添加到解决方案中。