XAML MAUI应用程序:发布输出结果与调试不同

wqlqzqxt  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(89)

我有一个按钮,在调试模式看起来像这样(这是我想在发布模式也有):

BUTTON DISABLED                              BUTTON ENABLED

release模式下tho,它看起来像这样:

BUTTON DISABLED                              BUTTON ENABLED

看看按钮在释放模式下启用时的背景颜色,而不是棕色,而是灰色。我不知道为什么

<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:viewmodels="clr-namespace:CurrencyExchange.ViewModels"
             x:Class="CurrencyExchange.CustomControls.FilterControl"
             xmlns:converters="clr-namespace:CurrencyExchange.Converters"
             xmlns:cstmctrls="clr-namespace:CurrencyExchange.CustomControls"
             x:Name="this">

    <ContentView.Resources>
        <converters:EnableSearchButtonConverter x:Key="EnableSearchButton"/>
    </ContentView.Resources>

    <Frame Padding="10, 0 ,0 ,0"
           Margin="10"
           WidthRequest="300" HeightRequest="60"
           CornerRadius="30">
        <Grid ColumnDefinitions="*, Auto, Auto">

            <Entry x:Name="filterLabel"
                   VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand"
                   Placeholder="Insert the Location"
                   FontSize="18"
                   WidthRequest="200"
                   BindingContext="{x:Reference this}"
                   Text="{Binding Filter}"/>

            <Button Grid.Column="1"
                    Text="{StaticResource SearchIcon}" FontFamily="FAS" FontSize="20"
                    CornerRadius="50"
                    WidthRequest="50" HeightRequest="50"
                    Margin="6"
                    BindingContext="{x:Reference this}"
                    IsEnabled="{Binding Source={x:Reference filterLabel}, Path=Text, Converter={StaticResource EnableSearchButton}}"
                    Command="{Binding SearchCommand}"
                    Clicked="Button_Clicked">

            </Button>

        </Grid>
    </Frame>
</ContentView>

这是我的自定义控件,条目和按钮应该有不同的背景颜色,在我注意到这个问题之前。所以我添加了这段代码来尝试解决这个问题,但没有成功。

<Button.Style>
   <Style TargetType="Button">
      <Style.Triggers>
         <Trigger TargetType="Button" Property="IsEnabled" Value="True">
            <Setter Property="BackgroundColor" Value="{StaticResource Primary}"/>
         </Trigger>
         <Trigger TargetType="Button" Property="IsEnabled" Value="False">
            <Setter Property="BackgroundColor" Value="LightGray"/>
         </Trigger>
      </Style.Triggers>
   </Style>
</Button.Style>

有办法解决吗?

wmomyfyw

wmomyfyw1#

经过深入的研究,看来这是一个错误的grr
You can find details here
所以,为了解决这个问题,我的触发器几乎是正确的,除了使用的属性。除了背景颜色,只使用背景看起来像是解决了这个问题。

<Button.Style>
   <Style TargetType="Button">
      <Style.Triggers>
         <Trigger TargetType="Button" Property="IsEnabled" Value="True">
            <Setter Property="Background" Value="{StaticResource Primary}"/>
         </Trigger>
         <Trigger TargetType="Button" Property="IsEnabled" Value="False">
            <Setter Property="Background" Value="#d3d3d3"/>
         </Trigger>
      </Style.Triggers>
   </Style>
</Button.Style>

更新

相关问题