Ответы пользователя по тегу WPF
  • Как растянуть строку по высоте datagrid?

    @Pitonist224 Автор вопроса
    Обернуть DataGrid в Viewbox Stretch="Fill"
    Ответ написан
    Комментировать
  • Как правильно сделать несколько окон в wpf с использованием mvvm паттерна?

    @Pitonist224 Автор вопроса
    Не знаю на сколько это верное решение, но вот что я сделал погуглив ещё немного.
    Создал WindowService
    public interface IWindowService
        {
            public void ShowWindow<T>(object dataContext) where T : Window, new();
        }
    
    public class WindowService : IWindowService
        {
            public void ShowWindow<T>(object dataContext) where T : Window, new()
            {
                var window = new T
                {
                    DataContext = dataContext
                };
    
                window.Show();
            }
        }


    Создал само окно GraphWindow.xaml и его ViewModel - GraphViewModel

    А в MainViewModel создал вот такой метод
    // PS. ws = WindowService
    public void ExecuteShowGraph(object parameter)
            {
                ws.ShowWindow<GraphWindow>(new GraphViewModel(Коллекция точек для графика));
            }
    Ответ написан
    Комментировать
  • Как нарисовать график с заштриховкой на c#?

    @Pitonist224 Автор вопроса
    Что-то написал сам, что-то посмотрел в интернете и получилось это:
    public static Brush HatchBrush
            {
                get
                {
                    var canvas = new Canvas();
    
                    canvas.Children.Add(new Path
                    {
                        Stroke = Brushes.Black,
                        StrokeThickness = 1,
                        Data = new LineGeometry(new Point(0, 0), new Point(40, 40))
                    });
    
                    var myHathBrush = new VisualBrush
                    {
                        TileMode = TileMode.Tile,
                        Viewport = new Rect(0, 0, 10, 10),
                        ViewportUnits = BrushMappingMode.Absolute,
                        Visual = canvas
                    };
    
                    return myHathBrush;
                }
            }

    5e495886b8651311406463.png

    Если нужно изменить размер, расстояние, то следует поиграться со значениями.
    Ответ написан
    Комментировать