Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
2 / 2 / 1
Регистрация: 05.03.2015
Сообщений: 191
1

Создание блок-схемы

05.04.2017, 17:51. Показов 2966. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые коллеги!
На самом деле возможно то что я хочу реализовать, совсем не стоит делать на wpf, но за тем я и обращаюсь к вам за советом, что не знаю где лучше и быстрее возможно сделать ту задачу которую опишу далее.

Необходимо сделать блок-схему, которая бы содержала кнопки ("Да", "Нет") для передвижения по логике блок-схемы, при этом могут всплывать дополнительные окна которые будут осуществлять необходимые математические расчеты.
Начал пытаться реализовывать это средствами WPF, т.е. элемент canvas, но все это выглядит как то очень громоздко, неуклюже и довольно сложно, т.к планируется несколько страниц таких блок схем и все их вот так задавать будет долгой задачей.
Был бы очень признателен, если вы мне поможите или направите в нужное русло с моей задачей!
Миниатюры
Создание блок-схемы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2017, 17:51
Ответы с готовыми решениями:

Создание блок схемы
Добрый вечер. Есть задание, нужно составить блок-схему. С небольшими выражениями всё ясно. Но как...

Создание блок схемы
#include <iostream> #include <math.h> #include <locale> using namespace std; int main() { ...

Создание блок-схемы
Здравствуйте,помогите пожалуйста к этой программе составить блок схему!очень благодарна буду! uses...

Создание блок-схемы
Помогите создать блок-схему двух программ. 1)program 1; uses crt; var x,y: real; ...

3
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
06.04.2017, 02:45 2
Canvas, на который биндим ViewModels (Shapes), и всё решается в рамках mvvm, канвас автоматически отрисует фигуры, вот кусок как есть с моего проекта:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
    <Grid>
        <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
            <!--<Viewbox Stretch="Fill">-->
            <ItemsControl ItemsSource="{Binding Shapes}">
                <ItemsControl.Resources>
                    <DataTemplate DataType="{x:Type gridVM:LabelViewModel}">
                        <TextBlock Text="{Binding Text}" FontSize="{Binding FontSize}" Foreground="{Binding Stroke}" HorizontalAlignment="{Binding HorizontalAlignment}" TextAlignment="{Binding TextAlignment}" FontWeight="{Binding FontWeight}" Width="{Binding Width}" Opacity="{Binding Opacity}" SnapsToDevicePixels="True" Visibility="{Binding Path=IsVisible, Converter={StaticResource booleanToVisibilityConverter}}" />
                    </DataTemplate>
                    <DataTemplate DataType="{x:Type gridVM:RectViewModel}">
                        <Rectangle Stroke="{Binding Stroke}" StrokeThickness="{Binding StrokeThickness}" Fill="{Binding Fill}" Width="{Binding Width}" Height="{Binding Height}" SnapsToDevicePixels="True" Opacity="{Binding Path=Opacity}" Visibility="{Binding Path=IsVisible, Converter={StaticResource booleanToVisibilityConverter}}" />
                    </DataTemplate>
                    <DataTemplate DataType="{x:Type gridVM:PathViewModel}">
                        <Path Stroke="{Binding Stroke}" StrokeThickness="{Binding StrokeThickness}" Data="{Binding Data}" SnapsToDevicePixels="True" Opacity="{Binding Path=Opacity}" Visibility="{Binding Path=IsVisible, Converter={StaticResource booleanToVisibilityConverter}}">
                            <!--<Path.Effect>
                                <DropShadowEffect ShadowDepth="1" BlurRadius="1" Opacity="0.5" />
                            </Path.Effect>-->
                        </Path>
                    </DataTemplate>
                    <DataTemplate DataType="{x:Type gridVM:LineViewModel}">
                        <Line X1="{Binding X1}" X2="{Binding X2}" Y1="{Binding Y1}" Y2="{Binding Y2}" Stroke="{Binding Stroke}" StrokeThickness="{Binding StrokeThickness}" SnapsToDevicePixels="True" Opacity="{Binding Path=Opacity}" Visibility="{Binding Path=IsVisible, Converter={StaticResource booleanToVisibilityConverter}}" />
                    </DataTemplate>
                </ItemsControl.Resources>
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <Canvas Background="White" Width="{Binding CanvasWidth}" Height="{Binding CanvasHeight}" ClipToBounds="True" IsItemsHost="True" local:CanvasInjector.PassCanvasToViewModel="True" />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
                <ItemsControl.ItemContainerStyle>
                    <Style TargetType="ContentPresenter">
                        <Setter Property="Canvas.Left" Value="{Binding Path=L}" />
                        <Setter Property="Canvas.Top" Value="{Binding Path=T}" />
                        <Setter Property="Canvas.Right" Value="{Binding Path=R}" />
                        <Setter Property="Canvas.Bottom" Value="{Binding Path=B}" />
                        <Setter Property="Canvas.ZIndex" Value="{Binding Path=Z}" />
                        <Setter Property="dxmvvm:Interaction.BehaviorsTemplate">
                            <Setter.Value>
                                <DataTemplate>
                                    <ItemsControl>
                                        <dxmvvm:EventToCommand EventName="MouseDown" Command="{Binding MouseDownCommand}" PassEventArgsToCommand="True"/>
                                        <dxmvvm:EventToCommand EventName="MouseLeftButtonDown" Command="{Binding MouseLeftButtonDownCommand}" PassEventArgsToCommand="True"/>
                                        <dxmvvm:EventToCommand EventName="MouseLeftButtonUp" Command="{Binding MouseLeftButtonUpCommand}" PassEventArgsToCommand="True"/>
                                        <dxmvvm:EventToCommand EventName="MouseMove" Command="{Binding MouseMoveCommand}" PassEventArgsToCommand="True"/>
                                    </ItemsControl >
                                </DataTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </ItemsControl.ItemContainerStyle>
            </ItemsControl>
        <!--</Viewbox>-->
        </ScrollViewer>
    </Grid>
</UserControl>
0
2 / 2 / 1
Регистрация: 05.03.2015
Сообщений: 191
06.04.2017, 14:30  [ТС] 3
Цитата Сообщение от SharpDeveloper Посмотреть сообщение
Canvas, на который биндим ViewModels (Shapes), и всё решается в рамках mvvm, канвас автоматически отрисует фигуры, вот кусок как есть с моего проекта:
Не совсем понимаю как это реализовать...
А что скажите насчет MindFusion.Diagramming.Wpf? вродебы его средствами возможно решить как раз мою задачу или этот пакет предназначен для другого?
0
140 / 137 / 22
Регистрация: 16.02.2012
Сообщений: 453
06.04.2017, 17:18 4
Цитата Сообщение от BenWade Посмотреть сообщение
MindFusion.Diagramming.Wpf
В первый раз вижу.
Цитата Сообщение от BenWade Посмотреть сообщение
Не совсем понимаю как это реализовать
Что именно непонятно?
Во ViewModel объявляете
C#
1
2
3
4
5
        public ObservableCollection<IShape> Shapes
        {
            get { return GetProperty(() => Shapes); }
            set { SetProperty(() => Shapes, value); }
        }
И заполняете коллекцию своими ViewModels для фигур.
0
06.04.2017, 17:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2017, 17:18
Помогаю со студенческими работами здесь

создание блок-схемы
помогите пожалуйста составить блок-схему к этой программе: program z1; var...

Создание блок схемы
Доброго времени суток. Вообщем нужно начертить схемы алгоритмов обработчиков событий. Плачу 50р(вм...

Создание блок-схемы
Здравствуйте, помогите пожалуйста создать блок-схему. Буду благодарен любой помощи. ...

Создание блок-схемы
помогите пожалуйста создать блок-схему к этому коду: program z2; uses crt; var i:integer; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru