【问题标题】:WPF Button from Controltemplate isn't visible来自 Controltemplate 的 WPF 按钮不可见
【发布时间】:2018-01-21 10:36:55
【问题描述】:

我想从两个 ControlTemplate 实例化两个控件(一个扩展器和一个按钮)。它们停靠在 Dockpanel(右侧和左侧)中。 Expander 可见且工作正常,但 Button 不可见。 App.xaml中Button的ControlTemplate:

...
<ControlTemplate x:Key="OpenFileButton" TargetType="{x:Type Button}">
        <Image Name="OpenFileButton" Source="F:\AudioNodeGUI_XAML\images\filebutton.jpg">

        </Image>
</ControlTemplate>
...

以及用户控件中的实例化:

<Grid>
    <Image Source="F:\AudioNodeGUI_XAML\images\FileInputNode.jpg"/>
    <DockPanel Name="dock" Width="151" Height="20" Margin="27,53,122,139">
        <Expander Name="expander" Template="{StaticResource FileExpander}" Height="20" Width="41" PreviewMouseLeftButtonUp="expand" DockPanel.Dock="Left">
            <ListView Name="usedFiles" Background="Black" BorderBrush="Transparent" BorderThickness="0" Width="140" Height="120" Opacity="0.5">
            </ListView>
        </Expander>
        <Button Name="OpenFileButton" Template="{StaticResource OpenFileButton}" DockPanel.Dock="Right" />
    </DockPanel>
</Grid>

但是按钮不可见,无论是在设计器中(只是轮廓)还是在执行中。我做错了什么?

【问题讨论】:

  • 尝试为按钮添加尺寸
  • 请熟悉 WPF 检查器,如 WPF Snoop。它们允许检查可视化树、使用属性值并修复许多错误。

标签: wpf button controltemplate


【解决方案1】:

我怀疑您的问题只是图像文件的路径不正确。不幸的是,无论是在设计器中还是在输出窗口中,您都不会有任何关于此类错误的提示。但是,如果您有 ReSharper,它应该突出显示文件的路径(如果它不存在)

【讨论】:

  • 我解决了这个问题,因为我删除了边距并重写了它。我不知道问题到底出在哪里。
猜你喜欢
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 2012-05-31
  • 2013-02-08
  • 2011-08-16
相关资源
最近更新 更多