小编Dep*_*hie的帖子

SelectedItem设置为CollectionViewSource的第一个项目

我有一个视图数据绑定通过mvvm光到我的WP7项目中的视图模型.该视图包含一个包含以下设置的列表框:

<ListBox x:Name="StationList"
    ItemsSource="{Binding StationList}"
    SelectedItem="{Binding SelectedStation, Mode=TwoWay}"
    >
Run Code Online (Sandbox Code Playgroud)

StationList是一个ObservableCollection.

现在当视图加载时,一切看起来都很棒!显示列表,未选择任何项目!

但是,当我将XAML更改为:

<ListBox x:Name="StationList"
            ItemsSource="{Binding Source={StaticResource StationListSorted}}"
            SelectedItem="{Binding SelectedStation, Mode=TwoWay}"
            >
Run Code Online (Sandbox Code Playgroud)

使用StationListSorted作为CollectionViewSource在StationList上进行简单的一个属性排序.现在事情变得丑陋!相同的视图在列表框中加载了相同的项目,但现在正确排序,但是选择了第一个项目并设置了selectedItem属性!

如何使用CollectionViewSource对ListBox进行排序而不自动选择我的第一个项目?

listbox collectionviewsource windows-phone-7

6
推荐指数
1
解决办法
3970
查看次数

将 Xamarin Forms 视图注入 Android 视图

我有一个 Xamarin Forms ContentView,其 UI 在 XAML 中定义。当使用某个自定义渲染器时,应动态添加此视图到应用程序的根视图。

对于 iOS,这工作得很好,但在 Android 上,我没有得到像 XAML 中定义的正确的 UI。只是得到 1 个大矩形,没有其他东西。

iOS 中使用的代码

public static UIView ConvertFormsToNative(Xamarin.Forms.View view, CGRect size)
{
    var renderer = Platform.CreateRenderer(view);
    renderer.NativeView.Frame = size;
    renderer.NativeView.AutoresizingMask = UIViewAutoresizing.All;
    renderer.NativeView.ContentMode = UIViewContentMode.ScaleToFill;
    renderer.Element.Layout(size.ToRectangle());
    var nativeView = renderer.NativeView;
    nativeView.SetNeedsLayout();

    return nativeView;
}
Run Code Online (Sandbox Code Playgroud)

然后在自定义渲染器中

var rect = new CGRect(0, 0, 250, 55);
_overlayTabView = Helpers.ConvertFormsToNative(new OverlayTabView(), rect);
var result = UIScreen.MainScreen.Bounds;
var x = (result.Width / 2) - 125;
var y = (result.Height …
Run Code Online (Sandbox Code Playgroud)

android xamarin.forms

6
推荐指数
0
解决办法
1111
查看次数

Windows Phone 8中的自定义字体用法

我对Windows Phone 8模拟器有一个奇怪的问题!我有一个小测试应用程序,我在主页上更改"页面名称"文本框,以便使用自定义字体显示.现在在视觉工作室设计师中我看到了这种字体,在运行应用程序时我也在模拟器中看到它,所以一切都很好......

但是,当我将主页面移动到名为View的文件夹并更改WMAppManifest.xml以反映此移动时>导航页面现在设置为View/MainPage.xaml.我仍然在我的设计师中看到这种自定义字体,但在模拟器中不再!

我还没有拥有wp8设备...所以任何人都可以为我验证这一点,如果你尝试将故障项目部署到手机时这个问题是一样的吗?

有没有人知道为什么会这样?非常讨厌无法在模拟器中看到正确的设计.

工作和失败的项目

c# fonts windows-phone-8

5
推荐指数
1
解决办法
7384
查看次数

水平拉伸 - 组头ListView

那么......有什么好主意我们如何在Win RT-phone中的Grouped ListView的GroupHeader模板上启用水平内容拉伸?

我全都耳朵!

我添加了一个演示应用程序,您可以尝试一下 - 请在发布答案之前做好!代码可以在这里找到https://github.com/Depechie/ListView-Horizo​​ntalStretch-RT81

我添加了2页,MainPage有没有水平拉伸的问题.MainPage2有一个修复水平拉伸,但由于该修复,JumpList(缩小视图)不再工作.您可以通过appbar按钮从MainPage导航到MainPage2.

这里有2个视觉效果

在此输入图像描述 在此输入图像描述

winrt-xaml windows-phone-8 windows-phone-8.1

4
推荐指数
1
解决办法
1029
查看次数

调整Live Tile的图像 - WriteableBitmapEx

**
找到解决方案
由于这是一个瓷砖,因此图像总是会被173扩展到173!
为了避免这种情况,首先用173创建一个虚拟173,并将其与调整大小的一个合并!

Rect rect = new Rect(0.0, 0.0, width, height);
WriteableBitmap bitmapDummy = new WriteableBitmap(173, 173);
bitmapDummy.Blit(rect, resized, rect, WriteableBitmapExtensions.BlendMode.None);
Run Code Online (Sandbox Code Playgroud)

**

我已经创建了一个后台代理来更新我的WP7应用程序的实时磁贴.但无论我试图调整大小,我都没有取得好成绩!

有小费吗?目前我有以下代码,但我也试过135乘173和其他插值.

WriteableBitmap writeableBitmap = new WriteableBitmap(bitmapImage);
var resized = writeableBitmap.Resize(173, 173, System.Windows.Media.Imaging.WriteableBitmapExtensions.Interpolation.Bilinear);
Run Code Online (Sandbox Code Playgroud)

下面还添加了一个小矩形来显示应用程序的标题!它的高度为40像素,如果将图像裁剪在上面会很棒.实际图像总是250 x 321px

当前的瓷砖

实际图像

windows-phone-7 writeablebitmapex background-agents

3
推荐指数
1
解决办法
2913
查看次数

以Xamarin形式获取正确的设备宽度

在我的Xamarin Forms项目中使用Xamarin实验室,它有一个类,您可以使用它来请求有关应用程序所在的运行设备的信息.

在我的情况下,我想知道设备屏幕的当前宽度.为此,您需要IDisplay在iOS appdelegate中连接接口,以便在表单代码中使用它.

所以在我的表单代码中,我通过请求Resolver.Resolve<IDevice>.Display.Width或获得宽度Resolver.Resolve<IDevice>.Display.XDpi

现在,当在iPhone 6模拟器上运行时,我的宽度为750,XDpi为326.我现在要做的是使用这两个值中的一个来调整屏幕上的图像大小,以便它们具有屏幕的确切宽度.

var image = new Image (){ Source = "img1.jpg", WidthRequest = _display.Width });
Run Code Online (Sandbox Code Playgroud)

我在里面展示它们 ExtendedScrollView

<StackLayout>
    <controlsXLabs:ExtendedScrollView x:Name="ImageScrollView"
                                      Orientation="Horizontal"
                                      AnimateScroll="true"
                                      Scrolled="OnScrolled">
        <StackLayout x:Name="DiscoverImagesStackLayout" Orientation="Horizontal" />
    </controlsXLabs:ExtendedScrollView>
    <Button Text="Click me" Clicked="OnButtonClicked" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

但我现在面临的问题是使用宽度(750)是大(视网膜缩放?)和使用XDpi是小!

换句话说,如何获得可用于匹配图像宽度的实际屏幕宽度?或者我做错了什么?

添加了截图,第一个是大,第二个是小(参考屏幕大小)

Display.Width(大)

Display.XDpi(小)

c# ios xamarin xamarin.forms

3
推荐指数
1
解决办法
7069
查看次数

Asp.Net MVC 3 - 保护站点时登录页面没有css布局

好的......我不明白.我刚刚在web.config中使用以下代码块保护了我的asp.net mvc 3应用程序(razor视图).

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

<authorization>
  <deny users="?"/>
</authorization>
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,Login页面不再具有正常的样式......它只是简单的HTML而没有任何css样机.那么我需要在web.config中"允许"什么?

authorization razor asp.net-mvc-3

2
推荐指数
1
解决办法
3744
查看次数

LongListSelector - 如何将MVVM绑定到SelectedItem

我设法通过MVVM运行LongListSelector.换句话说,ItemSource是通过我的viewmodel上的属性设置的.

但是出于一些奇怪的原因,我似乎无法"绑定"LongListSelector的SelectedItem ......我没有进入ViewModel属性的Set和Get.这是怎么做到的?那么ViewModel上SelectedItem的'type'应该是什么?我认为集团内部的班级类型?

我目前的xaml:

<silverlighttoolkit:LongListSelector x:Name="AlbumsList"
                                        Background="Transparent"
                                        ItemTemplate="{StaticResource ItemTemplate}"
                                        GroupHeaderTemplate="{StaticResource GroupHeaderTemplate}"
                                        GroupItemTemplate="{StaticResource GroupItemTemplate}"
                                        ItemsSource="{Binding GroupedAlbums}"
                                        SelectedItem="{Binding SelectedAlbum, Mode=TwoWay}">
    <silverlighttoolkit:LongListSelector.GroupItemsPanel>
        <ItemsPanelTemplate>
            <silverlighttoolkit:WrapPanel />
        </ItemsPanelTemplate>
    </silverlighttoolkit:LongListSelector.GroupItemsPanel>
</silverlighttoolkit:LongListSelector>
Run Code Online (Sandbox Code Playgroud)

silverlight-toolkit windows-phone-7 mvvm-light longlistselector

1
推荐指数
1
解决办法
2074
查看次数