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

使用列表框中的自定义项执行zordering-Silverlight

  •  1
  • xanadont  · 技术社区  · 14 年前

    我正在做一个自定义按钮。 This 截图会有帮助。在图片中看到的按钮没有问题,因为徽章挂在左边。但是,如果我希望徽章挂在右边,那么列表框中的下一项将隐藏超出其容器边界(按钮宽度)的徽章部分。现在我不能用佐德林来解决这个问题,对吧?因为这只适用于其容器中的排序,在本例中是ListBoxItem。这里有什么可以做的吗?仅供参考,我希望避免工作,例如投入足够大的利润来给徽章空间。我 have another custom button 其文本是可编辑的,并且用于获取输入文本的文本框的扩展将远远超出基础按钮。

    1 回复  |  直到 14 年前
        1
  •  0
  •   AnthonyWJones    14 年前

    ListBoxItem ListBox

    public class ZOrderedListBox : ListBox
    {
        private int _ZIndex = 0;
    
        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
        {
            base.PrepareContainerForItemOverride(element, item);
            Canvas.SetZIndex((UIElement)element, _ZIndex--);
        }
    }
    

    ZorderedListBox StackPanel VirtualizingStackPanel