Как создать пользовательский составной элемент управления, полученный из FrameworkElement - PullRequest
2 голосов
/ 26 августа 2010

Можете ли вы дать мне пример того, как создать пользовательский составной элемент управления (в Silverlight 4), который наследуется непосредственно от FrameworkElement.Вот макет:

public sealed class CompositeImage : FrameworkElement
{
    private readonly List<Image> images;

    public CompositeImage()
    {
        images = new List<Image>();
        images.Add(new Image { Source = "..." });
        images.Add(new Image { Source = "..." });
    }

    protected override Size MeasureOverride(Size availableSize)
    {
        throw new NotImplementedException();
    }
    protected override Size ArrangeOverride(Size finalSize)
    {
        throw new NotImplementedException();
    }
}

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Мне трудно представить себе любой сценарий, в котором было бы желательно сделать это.

Используйте UserControl или шаблонный элемент управления.Трудно даже дать больше ответа, чем без понимания того, что вы хотите достичь.

1 голос
/ 13 сентября 2010

Полагаю, имеет смысл наследовать от FrameworkElement, если вы хотите создать какую-то панель «Только для изображений». Из вашего примера кода видно, что список изображений будет фиксированным? Затем вы можете написать код в MeasureOverride и ArrangeOverride, чтобы выложить их. Но, как сказал AnthonyWJones, более подробная информация о том, что вы пытаетесь достичь, поможет определить лучший путь.

...