拖拽从Infragistics菜单中删除

时间:2015-02-11 15:48:06

标签: wpf xaml infragistics ribbon

我想 darg& drop from Infragistics菜单,就像一个按钮(实际上是其后面的任何UI元素)到Grid

但似乎不可能做到。

通常我喜欢

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

我可以拖放它,因为它有适当的方法。 但似乎我们无法通过 Infragistics功能区菜单

执行此操作

和此代码

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

我的意思是我看不到例如功能区按钮包含这些方法,或者我们可以在其上添加Border

可能我的问题可能会像这样重新定义:我们可以在Infragistics菜单中使用标准的SIlverlight控件吗? 任何线索?

1 个答案:

答案 0 :(得分:0)

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

我不会放置代码,因为有很多东西,但我会参考这个很棒的链接

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

现在想象一下,你可以做{而不是private ComboBox _combo;而不是

 private MyCUstomUSerControl _myCUstomUSerControl;

这是在 Infragistics功能区菜单中实现任何自定义用户控件的方法。

祝你有个美好的一天!

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