0

我开发 Windows Phone 8 应用程序。这是我的 XAML

项目模板

 <phone:PhoneApplicationPage.Resources>
    <data:AppCollection x:Key="AppCollection"/>
    <DataTemplate x:Key="AppItemTemplate">
        <StackPanel Margin="0,-14,0,24" Tap="OnItemContentTap" >
            <TextBlock Text="{Binding Name}" 
                                   Margin="0,0,0,-4"
                                   FontSize="{StaticResource PhoneFontSizeExtraLarge}" 
                                   FontFamily="{StaticResource PhoneFontFamilySemiLight}"/>
            <TextBlock Text="{Binding Body}"
                                   Margin="0,0,0,-4"
                                   Foreground="{StaticResource PhoneSubtleBrush}"
                                   FontSize="{StaticResource PhoneFontSizeNormal}"
                                   FontFamily="{StaticResource PhoneFontFamilyLight}"/>
            <TextBlock Text="{Binding Description}"
                                   Foreground="{StaticResource PhoneSubtleBrush}"
                                   FontSize="{StaticResource PhoneFontSizeNormal}"/>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

这是 LongListMultiSelector

            <toolkit:LongListMultiSelector x:Name="AppList" 
                                            Margin="0,14,-12,0"
                                            ItemsSource="{StaticResource AppCollection}"
                                            LayoutMode="List"
                                            SelectionChanged="OnAppListSelectionChanged"
                                            IsSelectionEnabledChanged="OnAppListIsSelectionEnabledChanged"
                                            ItemTemplate="{StaticResource AppItemTemplate}"
        />
        </phone:PivotItem>

这是应用程序的屏幕截图:

在此处输入图像描述

所以我需要有相同的 LongListMultiSelector 但有 ToggleSwitchers。就像在这张照片上: 在此处输入图像描述

Is it possible to add toggleswitches to longlist and hide switches when select is active ?

4

2 回答 2

0

在 dataTemplate 中创建具有两个列的 Grid。所以 LongListMultiSelector 有这样的 ItemTemplate :

<DataTemplate x:Key="ReminderItemTemplate">
        <Grid Name="ListGrid">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="150"/>
            </Grid.ColumnDefinitions>
            <StackPanel Tap="OnItemContentTap" Grid.Column="0" >
                <TextBlock Text="{Binding Name}" 
                                   Margin="0,0,0,-4"
                                   FontSize="{StaticResource PhoneFontSizeExtraLarge}" 
                                   FontFamily="{StaticResource PhoneFontFamilySemiLight}"/>
                <TextBlock Text="{Binding Adress}"
                                   Margin="0,0,0,-4"
                                   Foreground="{StaticResource PhoneSubtleBrush}"
                                   FontSize="{StaticResource PhoneFontSizeNormal}"
                                   FontFamily="{StaticResource PhoneFontFamilyLight}"/>
                <TextBlock Text="{Binding Description}"
                                   Foreground="{StaticResource PhoneSubtleBrush}"
                                   FontSize="{StaticResource PhoneFontSizeNormal}"/>
            </StackPanel>
            <!--And here I insert toggleswitch-->
            <StackPanel  Tap="OnItemContentTap" Grid.Column="1" >
                <toolkit:ToggleSwitch  Margin="0,20,20,0" >
                </toolkit:ToggleSwitch>
            </StackPanel>
        </Grid>
    </DataTemplate>
于 2014-06-13T07:27:44.763 回答
0

ToggleSwitch 是一个可以在Windows Phone Toolkit库中找到的控件。

您可以通过 NuGet 轻松将该库添加到您的项目中:右键单击您的项目 ->“管理 NuGet 包”,然后搜索“WPtoolkit”。

尝试在数据模板中添加切换开关。

 <ToggleSwitch Header="Toggle Switch Example" 
    OffContent="Do work" OnContent="Working" 
    Toggled="ToggleSwitch_Toggled"/>  

更多请看这里

于 2014-06-12T11:10:58.017 回答