xaml - 为什么将图像属性添加到按钮时 Xamarin 应用程序不运行
问题描述
我的问题是,当我将它们的文本属性设置为应用程序运行的任何文本和按钮时,我有一个带有 2 个按钮的简单应用程序。当我删除 text 属性并添加图像时,应用程序不会运行,但不会引发任何异常或错误
注意:我已将按钮的图标图像附加到 Android.Resources.Drawable
这是 XAML 代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="PhotoGallery.Gallery"
BackgroundColor="Black">
<AbsoluteLayout>
<Image Source="https://picsum.photos/1920/1080" x:Name="pic" Aspect="AspectFit" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All"></Image>
<ActivityIndicator IsRunning="{Binding Source={x:Reference pic} , Path=IsLoading}" AbsoluteLayout.LayoutBounds="0.5,0.1,100,100" AbsoluteLayout.LayoutFlags="PositionProportional"></ActivityIndicator>
<Button Image="left.png" x:Name="btnPrevious" AbsoluteLayout.LayoutBounds="0.05 , 0.05 , 150 , 50" AbsoluteLayout.LayoutFlags="PositionProportional"></Button>
<Button Image="right.png" x:Name="btnNext" AbsoluteLayout.LayoutBounds="0.95 , 0.05 , 150 , 50" AbsoluteLayout.LayoutFlags="PositionProportional"></Button>
</AbsoluteLayout>
</ContentPage>
解决方案
按钮似乎不是必需的,为什么不将它们替换为图像:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="PhotoGallery.Gallery"
BackgroundColor="Black">
<AbsoluteLayout>
<Image Source="https://picsum.photos/1920/1080" x:Name="pic" Aspect="AspectFit" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All"></Image>
<ActivityIndicator IsRunning="{Binding Source={x:Reference pic} , Path=IsLoading}" AbsoluteLayout.LayoutBounds="0.5,0.1,100,100" AbsoluteLayout.LayoutFlags="PositionProportional"></ActivityIndicator>
<Image Source="left.png" x:Name="btnPrevious" AbsoluteLayout.LayoutBounds="0.05 , 0.05 , 150 , 50" AbsoluteLayout.LayoutFlags="PositionProportional">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OnPreviousImageTapped" />
</Image.GestureRecognizers>
</Image>
<Image Source="right.png" x:Name="btnNext" AbsoluteLayout.LayoutBounds="0.95 , 0.05 , 150 , 50" AbsoluteLayout.LayoutFlags="PositionProportional">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OnNextImageTapped" />
</Image.GestureRecognizers>
</Image>
</AbsoluteLayout>
</ContentPage>
推荐阅读
- vb.net - 如何混合表单域和图形?
- python - 如何通过彻底运行每个元素对列表进行排序?
- python - 使用重复索引重塑 pandas 数据框,同时转置具有重复值的列
- javascript - 在 Fabric.js 中自动生成 svg 对象
- python - django.contrib.auth.urls 更改重定向路径
- solr - 您如何将 Solr 7.4 恢复 API 与 HDFS 一起使用?
- javascript - 开玩笑如何做或/尝试捕捉案例进行快照测试
- node.js - 在 nodejs mongodb 中为 url 缩短器添加一个计数器
- react-native - React Native 与 Redux 工具包 > 状态已分派但未更新
- mysql - Django(1045,“用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)