C# XAML文件是否可移植到Xamarin Macintosh?
我没有权限在Macintosh上进行测试(也就是说,我无法加载Xamarin Mac组件),所以我没有办法进行测试。但是…下面是WPF应用程序的XAML。应用程序中的大部分内容似乎都与Xamarin兼容——比如WebClient调用,通过XMLDocument和绑定填充我的表单字段——但我不知道XAML是否兼容。这就是:C# XAML文件是否可移植到Xamarin Macintosh?,c#,wpf,xaml,xamarin.ios,xamarin.mac,C#,Wpf,Xaml,Xamarin.ios,Xamarin.mac,我没有权限在Macintosh上进行测试(也就是说,我无法加载Xamarin Mac组件),所以我没有办法进行测试。但是…下面是WPF应用程序的XAML。应用程序中的大部分内容似乎都与Xamarin兼容——比如WebClient调用,通过XMLDocument和绑定填充我的表单字段——但我不知道XAML是否兼容。这就是: <Window x:Class="IMManager.ImManagerWindow" xmlns="http://schemas.microsoft.com/winf
<Window x:Class="IMManager.ImManagerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="IMM Media Manager"
SnapsToDevicePixels="True"
WindowState="Normal"
MaxWidth="720"
ResizeMode="NoResize"
WindowStartupLocation="CenterScreen">
<Window.Resources>
<Style x:Key="AlternatingListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<!-- setting up triggers for alternate background colors -->
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="LightGray"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="White"></Setter>
</Trigger>
</Style.Triggers>
<!-- setting row height here -->
<Setter Property="Height" Value="25" />
</Style>
</Window.Resources>
<ListView x:Name="LvAlbums" ItemsSource="{Binding XPath=/downloads/Album}" Width="680">
<ListView.ItemTemplate>
<DataTemplate x:Name="dt1">
<StackPanel x:Name="spAlbum" HorizontalAlignment="Left">
<TextBlock
Text="{Binding XPath=@Artist,StringFormat='Artist: {0}'}"
FontSize="16px"
/>
<TextBlock
Text="{Binding XPath=@Name,StringFormat='Album: {0}'}"
FontSize="16px"
/>
<ListView x:Name="lvTracks" ItemsSource="{Binding XPath=Item}" ItemContainerStyle="{StaticResource AlternatingListViewItemStyle}" AlternationCount="2">
<ListView.View>
<GridView>
<GridViewColumn Header="Track" Width="460">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock x:Name="trackName" Text="{Binding XPath=@Name}" Width="450" LineHeight="25" Height="25" VerticalAlignment="Center" Margin="0,3,0,0">
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Progress" Width="175">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Canvas VerticalAlignment="Center" Height="25">
<ProgressBar Foreground="GreenYellow" Name="PbStatus" Value="{Binding XPath=@Progress, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Minimum="0" Maximum="100" Height="20" VerticalAlignment="Center" Margin="0,3,0,0" Width="165"/>
<TextBlock FontFamily="Segoe UI" LineHeight="25" FontWeight="Bold" Text="{Binding XPath=@Info, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Height="20" Width="165" VerticalAlignment="Center" Margin="0,4,0,0"/>
</Canvas>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Mac Xamarin是否可以处理此问题或类似问题?否。Xamarin Mac不使用XAML。Xamarin表单确实如此,但它的语法与WPF中使用的XAML不同 listview、gridview等常规控件怎么样?例如,它们的存在和功能是否与绑定相同?我的进度条的工作方式是,我有一个在下载过程中更新的XML文档。名为“Progess”的属性将使用完成百分比进行更新,XAML进度条将绑定到该属性并能够显示进度。我是否必须对Mac电脑做不同的操作?有一些类似的控件,但它们不会与Windows桌面控件完全相同。我感谢您的反馈。我花了大约16个小时开发这个应用程序,我有一个开发人员说,在Xamarin Mac上做同样的事情需要将近200个小时。我真不敢相信事情会这么复杂。我正在尝试为Windows/Mac/Android和iOS开发一个用于下载文件的通用代码库,我开发的代码——使用WebClient、XML文档和控件绑定——似乎对这4个平台相当通用。例如,没有依赖于平台的API。我有点困了?我想在这一点上,根据您的时间框架,您可能需要考虑XAMARIN窗体。它应该在未来的版本中增加对Mac桌面的支持。它已经支持UWP(但不支持WPF)。我同意200小时似乎很高。如果您需要第二种意见,请与我联系(参见我的个人资料)。