Nano Hash - криптовалюты, майнинг, программирование

Привязка размера холста к размеру изображения в его фоновом ImageBrush

У меня есть холст, размер которого я хочу, чтобы он соответствовал фону ImageBrush.

Одним из препятствий здесь является то, что создается экземпляр элемента управления, а затем передается изображение и назначается ImageBrush. Другое препятствие заключается в том, что я делаю этот элемент управления как для WPF, так и для Silverlight, а ImageBrush отличается (т.е. они не имеют общих событий).

Редактировать:

<UserControl x:Class="Escalon.Annotations.AnnotationControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="400" Width="500" >
    <ScrollViewer Name="ctlScrollViewer" HorizontalScrollBarVisibility="Auto" Height="400" Width="500">
        <Canvas Name="ctlSizingCanvas" >
            <Canvas  Name="ctlCanvas" Loaded="ctlCanvas_Loaded" Height="400" Width="500"
                MouseLeftButtonDown="MouseLeftButtonDownHandler" MouseMove="Canvas_MouseMove" MouseLeftButtonUp="Canvas_MouseLeftButtonUp" >
                <Canvas.RenderTransform>
                    <ScaleTransform x:Name="ctlZoomTransform" />
                </Canvas.RenderTransform>
                <Canvas.Background>
                    <ImageBrush ImageSource="{Binding Source}" Stretch="UniformToFill" ></ImageBrush>
                </Canvas.Background>
            </Canvas>
        </Canvas>
    </ScrollViewer>
</UserControl>

Проблема в том, что я не использую элемент управления Image, я использую элемент управления ImageBrush, у которого нет высоты и ширины.


  • Вы можете показать свой XAML? Вероятно, вы можете привязать Height / Width холста к ActualHeight / ActualWidth изображения 21.12.2011
  • Привет, есть ли какая-то особая причина использовать Canvas вместо Grid? Первый будет соответствовать размеру изображения. 21.12.2011
  • Я использую этот элемент управления для рисования различных элементов управления с помощью мыши. 21.12.2011

Ответы:


1

Вместо использования ImageBrush я просто добавил изображение на холст и привязал размер холста к размеру изображения.

21.12.2011
  • Я знаю, что прошло какое-то время, и я пытался это сделать, но по какой-то причине холст не отображается ... есть ли пример, которым вы могли бы поделиться? 25.08.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..