0

ファイルからリストビューに読み込み、リストビューからファイルに保存する簡単/標準的な方法はありますか? TXT ファイル、XAML ファイル、バイナリ ファイルのいずれであっても、私は本当に気にしません。それは重要ではなく、私はそれほど多くのデータを持っていません。

列とそれぞれに格納されているデータは次のとおりです。

    public class LVData
    {
        public string Name { get; set; }
        public string YoungPic { get; set; }
        public string MediumPic { get; set; }
        public string AdultPic { get; set; }
        public bool SaltWater { get; set; }
        public bool FreshWater { get; set; }
        public bool Grasslands { get; set; }
        public bool Swamp { get; set; }
        public bool TropicalForrest { get; set; }
        public bool Forest { get; set; }
        public bool ForestEdge { get; set; }
        public bool Sand { get; set; }
        public bool Coastal { get; set; }
        public bool RiverBorder { get; set; }
        public bool LakeBorder { get; set; }
        public bool Floodplain { get; set; }
    }

リストビューの名前は listView1 です。

そしてXAML:

<Window x:Class="DinosaurIsland.PlantDisplay"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DinosaurIsland"
Title="Vegetation" Height="308" Width="1212" WindowStyle="SingleBorderWindow"
DataContext="{Binding RelativeSource={RelativeSource Self}}" Loaded="Window_Loaded">
<Window.Resources>
    <DataTemplate x:Key="YoungPicCell">
        <StackPanel Orientation="Horizontal">
            <Image Height="200" Width="200" Stretch="None" Source="{Binding YoungPic}" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="MediumPicCell">
        <StackPanel Orientation="Horizontal">
            <Image Height="200" Width="200" Stretch="None" Source="{Binding MediumPic}" />
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="AdultPicCell">
        <StackPanel Orientation="Horizontal">
            <Image Height="200" Width="200" Stretch="None" Source="{Binding AdultPic}" />
        </StackPanel>
    </DataTemplate>

    <DataTemplate x:Key="TerrainCell">
        <StackPanel Orientation="Vertical">
            <CheckBox Content="Salt Water"  Name="SaltWaterCheckbox" IsThreeState="False" IsChecked="{Binding Saltwater}" />
            <CheckBox Content="Fresh Water"  Name="FreshWaterCheckbox" IsThreeState="False" IsChecked="{Binding Freshwater}" />
            <CheckBox Content="Grassland / Plains"  Name="GrasslandsCheckbox" IsThreeState="False"  IsChecked="{Binding Grassland}" />
            <CheckBox Content="Swamp"  Name="SwampCheckbox" IsThreeState="False" IsChecked="{Binding Swamp}" />
            <CheckBox Content="Tropical Forest"  Name="TropicalForestCheckbox" IsThreeState="False"  IsChecked="{Binding TropicalForest}" />
            <CheckBox Content="Forest"  Name="ForestCheckbox" IsThreeState="False" IsChecked="{Binding Forest}" />
            <CheckBox Content="Forest Edge"  Name="ForestEdgeCheckbox" IsThreeState="False"  IsChecked="{Binding ForestEdge}" />
            <CheckBox Content="Sand"  Name="SandCheckbox" IsThreeState="False" IsChecked="{Binding Sand}" />
            <CheckBox Content="Coastal"  Name="CoastalCheckbox" IsThreeState="False" IsChecked="{Binding Coastal}" />
            <CheckBox Content="River Border"  Name="RiverBorderCheckbox" IsThreeState="False" IsChecked="{Binding RiverBorder}" />
            <CheckBox Content="LakeBorder"  Name="LakeBorderCheckbox" IsThreeState="False"  IsChecked="{Binding LakeBorder}" />
            <CheckBox Content="Floodplain"  Name="FloodplainCheckbox" IsThreeState="False"  IsChecked="{Binding Floodplain}" />
        </StackPanel>
    </DataTemplate>

    <DataTemplate x:Key="PlacePlantsCell">
        <StackPanel Orientation="Vertical">
            <Label Margin="10"  Content="Random" HorizontalAlignment="Center" ></Label>
            <Slider Margin="10"  Width="190" Value="50" Orientation="Horizontal" HorizontalAlignment="Center" IsSnapToTickEnabled="True" Maximum="100" TickPlacement="BottomRight"  TickFrequency="5"> </Slider>
            <Button Margin="10"  Content="Randomly Seed Plants" HorizontalAlignment="Center"  Height="23" Name="SeedButton" ></Button>
        </StackPanel>
    </DataTemplate>
</Window.Resources>

<DockPanel>
    <Grid>
        <ListView Name="listView1">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="152" Header="Name" DisplayMemberBinding="{Binding Name}" />
                    <GridViewColumn Width="202" Header="Picture of Young Plant" CellTemplate="{StaticResource YoungPicCell}" />
                    <GridViewColumn Width="202" Header="Picture of Medium Plant" CellTemplate="{StaticResource MediumPicCell}" />
                    <GridViewColumn Width="202" Header="Picture of Adult Plant" CellTemplate="{StaticResource AdultPicCell}" />
                    <GridViewColumn Width="202" Header="Terrain / Environments" CellTemplate="{StaticResource TerrainCell}" />
                    <GridViewColumn Width="202" Header="Place Plants" CellTemplate="{StaticResource PlacePlantsCell}" />
                </GridView>
            </ListView.View>
        </ListView>
        <Button Content="New Plant"  DockPanel.Dock="Bottom"  Height="23" HorizontalAlignment="Left" Margin="160,240,0,0" Name="NewPlant" VerticalAlignment="Top" Width="75" Click="NewPlant_Click" />
        <Button Content="Save" DockPanel.Dock="Bottom"   Height="23" HorizontalAlignment="Center" Margin="1099,240,15,0" Name="SavePlant" VerticalAlignment="Top" Width="75" Click="SavePlant_Click"/>
        <Button Content="Load" Height="23" HorizontalAlignment="Left" Margin="26,240,0,0" Name="LoadPlants" VerticalAlignment="Top"  Click="LoadPlants_Click" Width="75" /> 
    </Grid>
</DockPanel>

そして、フォーム/ダイアログ ボックス/リストビュー (名前は何でも) 全体の写真を次に 示します。

このスクリーン キャップが撮影されたので、「読み込み」ボタンも追加しました。

4

1 に答える 1