/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Views/Properties/DetailsPage.xaml
156 строк
5 KB
Pedro Bornia
Feature: Added multiline support for the comment property in the Properties Window (#18334)
31 мар 2026, 19:37
Не верифицирован
31 мар 2026, 19:37
d865f32
Код
Авторство
О чём код?
<!-- Copyright (c) Files Community. Licensed under the MIT License. --> <vm:BasePropertiesPage x:Class="Files.App.Views.Properties.DetailsPage" 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:helpers="using:Files.App.Helpers" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:toolkitconverters="using:CommunityToolkit.WinUI.Converters" xmlns:vm="using:Files.App.ViewModels.Properties" Loaded="Properties_Loaded" Tag="Details" mc:Ignorable="d"> <Page.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="ms-appx:///Styles/PropertiesStyles.xaml" /> </ResourceDictionary.MergedDictionaries> <toolkitconverters:BoolNegationConverter x:Key="BoolNegationConverter" /> </ResourceDictionary> </Page.Resources> <ScrollViewer> <Grid Padding="12"> <!-- Loading --> <StackPanel x:Name="LoadingStatePanel" HorizontalAlignment="Center" VerticalAlignment="Center" x:Load="{x:Bind ViewModel.IsPropertiesLoaded, Converter={StaticResource BoolNegationConverter}, Mode=OneWay}" Spacing="8"> <ProgressRing HorizontalAlignment="Center" IsIndeterminate="True" /> <TextBlock x:Name="LoadingTextBlock" HorizontalAlignment="Center" Style="{StaticResource App.Theme.BodyStrongTextBlockStyle}" Text="{helpers:ResourceString Name=Loading}" /> </StackPanel> <!-- Details Expander List --> <ListView x:Name="MainList" HorizontalAlignment="Stretch" x:Load="{x:Bind ViewModel.IsPropertiesLoaded, Mode=OneWay}" ItemsSource="{x:Bind ViewModel.PropertySections, Mode=OneWay}" SelectionMode="None"> <!-- Style --> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="Padding" Value="0,2,0,2" /> </Style> </ListView.ItemContainerStyle> <!-- Item Template --> <ListView.ItemTemplate> <DataTemplate x:DataType="vm:FilePropertySection"> <Expander HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="{x:Bind Title}" IsExpanded="True"> <ListView HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" ItemsSource="{x:Bind}" ScrollViewer.VerticalScrollMode="Disabled" SelectionMode="None"> <ListView.ItemTemplate> <DataTemplate x:DataType="vm:FileProperty"> <Grid HorizontalAlignment="Stretch" ColumnSpacing="8"> <Grid.ColumnDefinitions> <ColumnDefinition Width="140" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <TextBlock Grid.Row="0" Grid.Column="0" HorizontalAlignment="Stretch" Style="{StaticResource PropertyName}" Text="{x:Bind Name, Mode=OneWay}" TextWrapping="Wrap" /> <!-- Read Only Value Text Block --> <TextBlock x:Name="PropertyValueTemplateTextBlock" Grid.Row="0" Grid.Column="1" Padding="12" HorizontalAlignment="Stretch" x:Load="{x:Bind IsReadOnly, Mode=OneWay}" IsTextSelectionEnabled="True" Text="{x:Bind ValueText, Mode=TwoWay}" /> <!-- Edit Value Text Box --> <TextBox x:Name="PropertyValueTemplateTextBox" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Stretch" x:Load="{x:Bind IsReadOnly, Mode=OneWay, Converter={StaticResource BoolNegationConverter}}" AcceptsReturn="{x:Bind IsMultiLine, Mode=OneWay}" PlaceholderText="{x:Bind PlaceholderText, Mode=OneWay}" Style="{StaticResource PropertyValueTextBox}" Text="{x:Bind ValueText, Mode=TwoWay}" TextWrapping="Wrap" /> </Grid> </DataTemplate> </ListView.ItemTemplate> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="Padding" Value="0" /> </Style> </ListView.ItemContainerStyle> </ListView> </Expander> </DataTemplate> </ListView.ItemTemplate> <!-- Footer --> <ListView.Footer> <Button x:Name="ClearPropertiesButton" Margin="0,4,0,0" HorizontalAlignment="Stretch" Content="{helpers:ResourceString Name=ClearPropertiesButton/Content}"> <Button.Flyout> <Flyout x:Name="ClearPropertiesFlyout"> <StackPanel Orientation="Vertical" Spacing="8"> <TextBlock Text="{helpers:ResourceString Name=ClearPropertiesFlyoutText/Text}" /> <Button HorizontalAlignment="Right" Click="ClearPropertiesConfirmation_Click" Content="{helpers:ResourceString Name=Clear}" /> </StackPanel> </Flyout> </Button.Flyout> </Button> </ListView.Footer> </ListView> </Grid> </ScrollViewer> </vm:BasePropertiesPage>