Тема: Треба зберігти новий рецепт в файл з массивом рецептів

Допоможіть мені будь ласта з декількома запитаннями по моїй єкзаменаційній роботі
1 перше по важливості запитання - зберігти новий рецепт в файл з массивом рецептів?
2 як зробити щоб по кліку на TreeView рецепт відкривався у 3й колонці як це я зробив з ListBox
3 ну і якщо є хтось хто може ще запропонувати щось для цієї програми путнього то скажіть або зробіть будь ласка)
дедлайн єкзамену наступив ще неділю назад, але я не встигаю по причині переїзду, тому допоможіть хто може, бо я застряг...))
архів с проектом прикрепити не вдалось, пише що завеликий... але я покидав в архів самі важливі файли

Post's attachments

Book_Rec.zip 602.2 kb, 26 downloads since 2020-05-10 

2 Востаннє редагувалося 221VOLT (10.05.2020 18:31:03)

Re: Треба зберігти новий рецепт в файл з массивом рецептів

ви можете розмістити код своєї програми на github чи gist,
сумніваюсь, що хтось качатиме архіви :)

3

Re: Треба зберігти новий рецепт в файл з массивом рецептів

перший пункт вже сам зробив, просто треба було передати ссилку на коллекцію у нове вікно додавання рецепту, я спробую розмістити на github

4

Re: Треба зберігти новий рецепт в файл з массивом рецептів

https://github.com/kan18al/BookOfRecepts.git

5

Re: Треба зберігти новий рецепт в файл з массивом рецептів

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        d:DataContext="{d:DesignInstance Type={x:Type local:Recepts}}"
        Title="ReceptsBook" Height="650" Width="1000" ResizeMode="NoResize">
    <Window.Resources>
        <Style TargetType="{x:Type Button}">
            <Setter Property="Background" Value="White"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border Background="{TemplateBinding Background}">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Gray"/>
                </Trigger>
            </Style.Triggers>
        </Style>

        <DataTemplate DataType="{x:Type local:Recept}">
            <StackPanel>
                <Image Width="303" Source="{Binding pathImage}"/>
                <TextBlock Text="{Binding textBludo}" TextWrapping="Wrap"/>
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="one">
            <StackPanel>
                <Button Content="{Binding name}" Click="Button_Click"/>
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="two">
            <StackPanel>
                <Image Width="303" HorizontalAlignment="Stretch" Source="{Binding pathImage}"/>
                <TextBlock Width="250" Text="{Binding name}"/>
            </StackPanel>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <Menu IsMainMenu="True" Height="24" VerticalAlignment="Top">
            <MenuItem Header="New" Click="MenuItem_Click"/>
        </Menu>

        <TreeView Grid.Column="0" Margin="0,29,139,0">
            <TreeViewItem ItemsSource="{Binding Path=receptS_one}" ItemTemplate="{StaticResource one}" Header="Первые блюда"/>
            <TreeViewItem ItemsSource="{Binding Path=receptS_two}" ItemTemplate="{StaticResource one}" Header="Вторые блюда"/>
            <TreeViewItem ItemsSource="{Binding Path=receptS_salat}" ItemTemplate="{StaticResource one}" Header="Салаты"/>
            <TreeViewItem ItemsSource="{Binding Path=receptS_desert}" ItemTemplate="{StaticResource one}" Header="Десерты"/>
        </TreeView>

        <ListBox  Name="ListBoxRecepts" ItemsSource="{Binding Path=receptS}" ItemTemplate="{StaticResource two}" Grid.ColumnSpan="2" Margin="206,0,80,0"/>

        <ContentPresenter Grid.Column="1" Content="{Binding ElementName=ListBoxRecepts, Path=SelectedValue}" Grid.ColumnSpan="2" Margin="198,0,0,0"/>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="345*"/>
            <ColumnDefinition Width="278*"/>
            <ColumnDefinition Width="371*"/>
        </Grid.ColumnDefinitions>
    </Grid>
</Window>

Як з цiєї кнопки x:Key="one" отримати посилання на об'єкт Recept

6

Re: Треба зберігти новий рецепт в файл з массивом рецептів

вже вирiшив це питання

private void Button_Click(object sender, RoutedEventArgs e)
        {
            var button = (Button)sender;
            Recept recept = (Recept)button.DataContext;
            Window2 wind = new Window2(recept);
            wind.Show();
        }