小编JuP*_*JuP的帖子

使用Task.Run进行服务中的同步方法

我已经阅读了很多关于异步编程的文章,但我不确定其中的一件事.我有第三方winrt库,用C++编写,我想包装它.所以现在我有:

public Task LoginAsync(){
return Task.Run(winrtLibrary.Login();)
}
Run Code Online (Sandbox Code Playgroud)

根据Stephen Cleary和Stephen Toub的博客,这不是一个好的解决方案.但是当我同步使用该方法时,我的UI将无法响应并将被阻止.是否更好地同步公开服务方法并在UI中使用Task.Run?

c# asynchronous task task-parallel-library

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

ifstream打开文件C++

我有ifstream打开功能的问题.我在netbeans的linux下创建应用程序.我的代码是:

ifstream file;
file.open(path);
file.is_open()
.
.
.
Run Code Online (Sandbox Code Playgroud)

而问题在于道路.当我使用〜/ Desktop/file.txt并运行app时,文件未打开.但是当我调试应用程序时,一切正常.这个问题有什么提示吗?谢谢

c++

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

如何放置枢轴头?

我认为,在UWP中应该可以将pivot头放到底部.我读过,我们可以在没有模板编辑的情况下完成.我找不到任何例子.

谢谢你的回答

编辑:

https://msdn.microsoft.com/en-us/library/windows/apps/dn997788.aspx?f=255&MSPPError=-2147217396

标题放置.标题可以放在屏幕的顶部或底部.

c# win-universal-app

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

使用Template10在页面内导航

我有问题如何在UWP中实现子页面导航.该页面位于RootFrame中,我可以在导航中使用.但我想使用这样的东西:

    <Page>
<Grid>
 <Frame x:Name="MyFrame"/>
</Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)

我想要的是,在ViewModel中使用控制MyFrame的Navigate方法.我可以从代码隐藏调用该方法,但我正在使用MVVM开发我的应用程序.我不确定,如果Template10可以使用子帧.

我很感激任何建议.

编辑: 更多细节:我在页面中有枢轴控制.枢轴有2个选项卡(pivotitems).pivotitem的内容必须是可导航的.我的意思是:我的第一部分,我需要有一个框架,并在枢轴实现中使用它进行导航.我的问题是,如何使用或如何从ViewModel调用pivotitem中的帧,特别是我需要调用Navigate方法.现在我正在使用Template10的导航服务,它正在使用rootframe.我不知道,如何将其用于其他让我们说的子帧.

c# mvvm windows-runtime win-universal-app template10

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

通过Hotmail发送电子邮件到Gmail

我正在研究发送电子邮件的应用程序.我在hotmail上创建了帐户.这是我的代码:

try
{
    using (var smtpClient = new SmtpClient())
    {
        var mailAddressTo = new MailAddress(emailType.EmailAddress);
        var mailAddressFrom = new MailAddress("id");
        using (var mailMessage = new MailMessage(mailAddressFrom, mailAddressTo))
        {
            smtpClient.Host = "smtp.live.com";
            smtpClient.Port = 587;
            smtpClient.EnableSsl = true;
            smtpClient.Credentials = new NetworkCredential("id@hotmail.com", "pass");
            mailMessage.Subject = emailType.EmailSubject;               
            smtpClient.Send(mailMessage);
        }
    }
}
catch (Exception ex)
{}
Run Code Online (Sandbox Code Playgroud)

但它给了我例外:

信箱不可用.服务器响应为:5.3.4未采取请求的操作; 我们注意到您的Hotmail帐户中存在一些异常活动.为帮助保护您,我们暂时屏蔽了您的帐户.

我不想使用Gmail,因为它需要电话号码.我怎么能用hotmail做到这一点?谢谢

c#

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

用于 ListView 的 DataTemplate 中的行分隔符

我有 ItemsControl,每个项目都有可绑定的 itemsource 和自定义 datetemplate。项目由行分隔。但是最后一项也有分隔符,这就是我的问题,如何不为最后一项渲染行。我找到了这个解决方案,但它在 WPF 中有效:

如何在 ItemsControl 中的项目之间添加分隔符

编辑: 这是我的模板:

<ItemsControl Grid.Row="1"  ItemsSource="{x:Bind ViewModel.AvailableStatuses}" x:Name="Statuses">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Vertical" Padding="60,0,60,12"/>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <Grid Background="Transparent">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="Auto"/>
                                    <RowDefinition Height="*"/>
                                </Grid.RowDefinitions>
                                <i:Interaction.Behaviors>
                                    <core:EventTriggerBehavior EventName="Tapped">
                                        <core:InvokeCommandAction Command="{Binding ElementName=ContentGrid, Path=DataContext.ChangeStatusCommand}" CommandParameter="{Binding}"/>
                                    </core:EventTriggerBehavior>
                                </i:Interaction.Behaviors>
                                <Rectangle StrokeThickness="0.4" Height="0.4" x:Name="Separator" 
                                   VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Stroke="#D1D3D4" />
                                <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Stretch">
                                    <Image Source="{Binding Converter={StaticResource SelectContactStatusConverter}}" Margin="0,8,12,8"/>
                                    <TextBlock Text="{Binding Converter={StaticResource EnumContactStatusToTextConverter}}" FontSize="20" VerticalAlignment="Center" Foreground="Black"/>
                                </StackPanel>
                            </Grid>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
Run Code Online (Sandbox Code Playgroud)

xaml windows-runtime winrt-xaml uwp uwp-xaml

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