XAML文件是否可移植到Xamarin Macintosh?

时间:2017-02-26 20:24:52

标签: 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/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可以处理这个或接近这个的东西吗?

1 个答案:

答案 0 :(得分:3)

没有。 Xamarin Mac不使用XAML。 Xamarin Forms可以,但它与WPF中使用的XAML语法不同。