代码之家  ›  专栏  ›  技术社区  ›  NoWar

从基础设施菜单拖放

  •  0
  • NoWar  · 技术社区  · 9 年前

    我想 darg&从“基础设施”菜单中删除 像按钮(实际上是它后面的任何UI元素) Grid .

    但这似乎是不可能的。

    通常我很喜欢

     <Border Margin="2,0" CornerRadius="5" Name="MyControl1" BorderBrush="LightGray" BorderThickness="1"  MouseLeftButtonDown="captureMyControl1_MouseLeftButtonDown" MouseLeftButtonUp="captureMyControl1_MouseLeftButtonUp" MouseMove="captureMyControl1_MouseMove">
    

    我可以拖动&放弃它,因为它有合适的方法。 但似乎我们不能这样做 基础设施功能区菜单

    和这个代码

    <ig:XamRibbonTabItem>
     <ig:XamRibbonGroup>
      <ig:VerticalRibbonToolContainer>
         <Border Margin="2,0" CornerRadius="5" Name="MyControl1" 
              <tools:ButtonToolEx 
    

    我是说我看不到 多个命令按钮 有这些方法,或者我们可以添加 Border 在它上面。

    我的问题可能会被重新定义为:我们可以在Infregistics菜单中使用标准的SIlverlight控件吗? 有线索吗?

    1 回复  |  直到 9 年前
        1
  •  0
  •   NoWar    9 年前

    最后,我找到了解决这个问题的方法。

    我不会写代码,因为有很多东西,但我会参考这个伟大的链接

    http://www.infragistics.com/community/forums/t/39619.aspx

    现在想象一下 private ComboBox _combo; 你可以这样做

     private MyCUstomUSerControl _myCUstomUSerControl;
    

    这是一种在 Infregistics功能区菜单 .

    祝你今天愉快,伙计们!

    public class ComboBoxTool : RibbonTool
    
        {
    
            protected override RibbonToolBaseControl ResolveToolControl()
    
            {
    
                return new ComboBoxToolControl(this);
    
            }
    
            public IEnumerable ItemsSource { get; set; }    
    
        }
    
        public class ComboBoxToolControl : RibbonToolBaseControl, IRibbonControl
    
        {
    
            private ComboBox _combo;
    
            public ComboBoxToolControl()
    
            {           
    
                this.DefaultStyleKey = typeof(ComboBoxToolControl);            
    
            }
    
            public ComboBoxToolControl(RibbonToolBase tool) : base(tool)
    
            {
    
                this.DefaultStyleKey = typeof (ComboBoxToolControl);
    
            }
    
            public override void OnApplyTemplate()
    
            {
    
                base.OnApplyTemplate();
    
                this._combo = GetTemplateChild("Combo") as ComboBox;
    
                if (this._combo != null)
    
                    this._combo.ItemsSource = ((ComboBoxTool) this.Tool).ItemsSource;
    
            }
    
        }
    
    Then you need to define the style for the ComboBoxToolControl in your generic.xaml file:
    
    
    
    <Style TargetType="cust:ComboBoxToolControl">
    
            <Setter Property="Foreground" Value="Green"/>
    
            <Setter Property="Template">
    
                <Setter.Value>
    
                    <ControlTemplate TargetType="cust:ComboBoxToolControl">
    
                        <Grid x:Name="LayoutRoot" HorizontalAlignment="Stretch" Background="Transparent">
    
                            <Grid >
    
                                <ComboBox x:Name="Combo" Width="100" Height="24" />
    
                            </Grid>
    
                        </Grid>
    
                    </ControlTemplate>
    
                </Setter.Value>
    
            </Setter>
    
        </Style>
    
    
    
    
    
    At this point you should be able to add your combo box tool to the ribbon:
    
    
    
    <igr:XamWebRibbonTabItem>
    
                        <igr:XamWebRibbonGroup>
    
                            <cust:ComboBoxTool ItemsSource="{StaticResource inventory}">                       
    
                          </cust:ComboBoxTool>
    
                        </igr:XamWebRibbonGroup>                  
    
     </igr:XamWebRibbonTabItem>
    

    P.S.还有一个链接 http://www.infragistics.com/samples/wpf/ribbon/custom-tools