mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-12-24 19:35:41 +08:00
107 lines
6.9 KiB
XML
107 lines
6.9 KiB
XML
<Application
|
|
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:local="clr-namespace:BililiveRecorder.WPF"
|
|
xmlns:ui="http://schemas.modernwpf.com/2019"
|
|
xmlns:l="https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension"
|
|
xmlns:m="clr-namespace:BililiveRecorder.WPF.Models"
|
|
x:Class="BililiveRecorder.WPF.App"
|
|
Startup="Application_Startup"
|
|
Exit="Application_Exit"
|
|
SessionEnding="Application_SessionEnding"
|
|
StartupUri="NewMainWindow.xaml">
|
|
<Application.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ui:ThemeResources />
|
|
<ui:XamlControlsResources />
|
|
<!-- Other merged dictionaries here -->
|
|
<ResourceDictionary Source="Resources/IconResources.xaml" />
|
|
<ResourceDictionary Source="Resources/ConverterResources.xaml" />
|
|
</ResourceDictionary.MergedDictionaries>
|
|
<!-- Other app resources here -->
|
|
<FontFamily x:Key="ContentControlThemeFontFamily">Microsoft YaHei</FontFamily>
|
|
<ContextMenu x:Key="CopyTextContextMenu" DataContext="{Binding RelativeSource={RelativeSource Mode=Self},Path=PlacementTarget}"
|
|
l:ResxLocalizationProvider.DefaultDictionary="Strings">
|
|
<MenuItem Header="{l:Loc Global_Copy}" Command="{x:Static m:Commands.Copy}" CommandParameter="{Binding Text}"/>
|
|
</ContextMenu>
|
|
<DataTemplate x:Key="RoomCardStatsPopup"
|
|
xmlns:core="clr-namespace:BililiveRecorder.Core;assembly=BililiveRecorder.Core"
|
|
DataType="{x:Type core:IRoom}">
|
|
<Grid l:ResxLocalizationProvider.DefaultDictionary="Strings">
|
|
<TextBlock Visibility="{Binding Stats.DurationRatio,Converter={StaticResource IsNaNToVisibilityCollapsedConverter}}"
|
|
TextAlignment="Center" Text="{l:Loc RoomCard_Status_SpeedIndicator_NoData}"/>
|
|
<StackPanel Visibility="{Binding Stats.DurationRatio,Converter={StaticResource InvertIsNaNToVisibilityCollapsedConverter}}">
|
|
<TextBlock Text="{Binding Stats.StreamHost,StringFormat=直播服务器: {0}}"/>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_SpeedInPercentage"/>
|
|
<Binding Path="Stats.DurationRatio" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_CurrentFileDuration"/>
|
|
<Binding Path="Stats.FileMaxTimestamp" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_TotalFileDuration"/>
|
|
<Binding Path="Stats.SessionMaxTimestamp" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_SessionDuration"/>
|
|
<Binding Path="Stats.SessionDuration" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_TotalnputBytes"/>
|
|
<Binding Path="Stats.TotalInputBytes" Converter="{StaticResource ByteUnitsConverter}" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock>
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{l:StringFormatConverter}">
|
|
<l:BLoc Key="RoomCard_Status_SpeedIndicator_TotalOutputBytes"/>
|
|
<Binding Path="Stats.TotalOutputBytes" Converter="{StaticResource ByteUnitsConverter}" Mode="OneWay"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock Margin="0,5,0,0" Text="{l:Loc RoomCard_Status_SpeedIndicator_Description}"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate x:Key="RoomDialogHeader">
|
|
<StackPanel>
|
|
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Style="{DynamicResource SubtitleTextBlockStyle}"
|
|
FontFamily="Microsoft Yahei" TextWrapping="NoWrap" TextAlignment="Center" TextTrimming="CharacterEllipsis"
|
|
Text="{Binding Name,Mode=OneWay}" ToolTip="{Binding Name,Mode=OneWay}"/>
|
|
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
|
|
<ui:PathIcon Height="10" Style="{StaticResource PathIconDataUpperCaseIdentifier}" />
|
|
<TextBlock Text="{Binding RoomConfig.RoomId, StringFormat=\{0\},Mode=OneWay}" Margin="4,0"/>
|
|
<ui:PathIcon Height="10" Style="{StaticResource PathIconDataLowerCaseIdentifier}" Margin="3,0"
|
|
Visibility="{Binding ShortId,Converter={StaticResource ShortRoomIdToVisibilityConverter}}"/>
|
|
<TextBlock Text="{Binding ShortId, StringFormat=\{0\},Mode=OneWay}"
|
|
Visibility="{Binding ShortId,Converter={StaticResource ShortRoomIdToVisibilityConverter}}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ResourceDictionary>
|
|
</Application.Resources>
|
|
</Application>
|