SourceToTargetViewModel was added

This commit is contained in:
Evgeny Redikultsev
2022-12-15 21:46:15 +05:00
parent f562cf2bce
commit d240968f29
21 changed files with 632 additions and 200 deletions

View File

@@ -7,11 +7,31 @@
xmlns:vm="clr-namespace:StructureHelper.Windows.ViewModels.Calculations.Calculators"
d:DataContext="{d:DesignInstance vm:ForceCalculatorViewModel}"
mc:Ignorable="d"
Title="Analysis by forces" Height="300" Width="400" MinHeight="300" MinWidth="400" WindowStartupLocation="CenterScreen">
Title="Analysis by forces" Height="300" Width="400" MinHeight="300" MinWidth="400" WindowStartupLocation="CenterScreen" Closing="Window_Closing">
<Window.Resources>
<Style x:Key="cbStyle" TargetType="CheckBox">
<Setter Property="Margin" Value="0,5,0,5"/>
</Style>
<DataTemplate x:Key="SimpleItemTemplate">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
<DataTemplate x:Key="SourceToTarget">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox ItemsSource="{Binding SourceItems}" SelectedItem="{Binding SelectedSourceItem}" ItemTemplate="{StaticResource ResourceKey=SimpleItemTemplate}"/>
<StackPanel Grid.Column="1">
<Button Content="Add all" Command="{Binding AddAll}"/>
<Button Content="Clear all" Command="{Binding ClearAll}"/>
<Button Content=">>" Command="{Binding AddSelected}"/>
<Button Content="&lt;&lt;" Command="{Binding RemoveSelected}"/>
</StackPanel>
<ListBox Grid.Column="2" ItemsSource="{Binding TargetItems}" SelectedItem="{Binding SelectedTargetItem}" ItemTemplate="{StaticResource ResourceKey=SimpleItemTemplate}"/>
</Grid>
</DataTemplate>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
@@ -31,38 +51,20 @@
</Grid>
<GroupBox Header="Limit States">
<StackPanel>
<CheckBox Style="{StaticResource cbStyle}" Content="Ultimate Limit State"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Serviceability Limit State"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Ultimate Limit State" IsChecked="{Binding ULS}"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Serviceability Limit State" IsChecked="{Binding SLS}"/>
</StackPanel>
</GroupBox>
<GroupBox Header="Duration">
<StackPanel>
<CheckBox Style="{StaticResource cbStyle}" Content="Short Term"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Long Term"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Short Term" IsChecked="{Binding ShortTerm}"/>
<CheckBox Style="{StaticResource cbStyle}" Content="Long Term" IsChecked="{Binding LongTerm}"/>
</StackPanel>
</GroupBox>
</StackPanel>
</TabItem>
<TabItem Header="Forces">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox>
</ListBox>
<StackPanel Grid.Column="1">
<Button Content="Add all"/>
<Button Content="Clear all"/>
<Button Content=">>"/>
<Button Content="&lt;&lt;"/>
</StackPanel>
<ListBox Grid.Column="2">
</ListBox>
</Grid>
<ContentControl ContentTemplate="{StaticResource SourceToTarget}" Content="{Binding CombinationViewModel}"/>
</TabItem>
<TabItem Header="Primitives">
<Grid>
@@ -94,13 +96,13 @@
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="170"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Required Accuracy" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<TextBox Style="{StaticResource ValidatedError}" Grid.Column="2" Margin="5,5,5,5" Text="{Binding Path=IterationAccuracy, ValidatesOnDataErrors=True}"/>
<TextBlock Text="Required Accuracy" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.ColumnSpan="2"/>
<TextBox Style="{StaticResource ValidatedError}" Grid.Column="2" Margin="5,5,5,5" Text="{Binding IterationAccuracy, Converter={StaticResource PlainDouble}, ValidatesOnDataErrors=True}"/>
<TextBlock Grid.Row="1" Text="Maximum Iteration Count" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.ColumnSpan="2"/>
<TextBox Style="{StaticResource ValidatedError}" Grid.Column="2" Grid.Row="1" Margin="5,5,5,5" Text="{Binding Path=MaxIterationCount, ValidatesOnDataErrors=True}"/>
<TextBox Style="{StaticResource ValidatedError}" Grid.Column="2" Grid.Row="1" Margin="5,5,5,5" Text="{Binding MaxIterationCount, ValidatesOnDataErrors=True}"/>
</Grid>
</TabItem>
</TabControl>

View File

@@ -20,13 +20,18 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalcu
/// </summary>
public partial class ForceCalculatorView : Window
{
ForceCalculatorViewModel forceCalculatorViewModel;
ForceCalculatorViewModel viewModel;
public ForceCalculatorView(ForceCalculatorViewModel _forceCalculatorViewModel)
{
forceCalculatorViewModel = _forceCalculatorViewModel;
DataContext = forceCalculatorViewModel;
viewModel = _forceCalculatorViewModel;
DataContext = viewModel;
InitializeComponent();
}
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
viewModel.Refresh();
}
}
}

View File

@@ -0,0 +1,30 @@
<UserControl x:Class="StructureHelper.Windows.CalculationWindows.CalculatorsViews.SourceToTargetControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:StructureHelper.Windows.CalculationWindows.CalculatorsViews"
xmlns:vm ="clr-namespace:StructureHelper.Windows.ViewModels"
mc:Ignorable="d"
d:DesignHeight="200" d:DesignWidth="400">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="60"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ListBox ItemsSource="{Binding AllowedPrimitives}"
SelectedItem="{Binding SelectedAllowedPrimitive}"
ItemTemplate="{StaticResource ColoredItemTemplate}">
</ListBox>
<StackPanel Grid.Column="1">
<Button Content="Add all" Command="{Binding AddAllPrimitivesCommand}"/>
<Button Content="Clear all" Command="{Binding ClearAllPrimitivesCommand}"/>
<Button Content=">>" Command="{Binding AddSelectedPrimitiveCommand}"/>
<Button Content="&lt;&lt;" Command="{Binding RemoveSelectedPrimitiveCommand}"/>
</StackPanel>
<ListBox Grid.Column="2" ItemsSource="{Binding Primitives}" SelectedItem="{Binding SelectedPrimitive}" ItemTemplate="{StaticResource ColoredItemTemplate}">
</ListBox>
</Grid>
</UserControl>

View File

@@ -0,0 +1,34 @@
using StructureHelper.Windows.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews
{
/// <summary>
/// Логика взаимодействия для SourceToTargetControl.xaml
/// </summary>
public partial class SourceToTargetControl : UserControl
{
//private ISourceToTargetViewModel<TItem> viewModel;
public SourceToTargetControl()
//ISourceToTargetViewModel<TItem> viewModel)
{
//this.viewModel = viewModel;
InitializeComponent();
//DataContext = this.viewModel;
}
}
}