我有一个在wpf中创建的应用程序,当更新可用时需要更新.正在与包含软件版本的服务器上的xml文件进行比较更新.我在youtube上找到了SharpUpdater视频系列的参考链接,在C#中链接了Sharp Updater.它适用于Windows窗体应用程序,因为我已经下载并在我的应用程序中尝试过,但是当它在wpf应用程序上实现相同的逻辑时,它在某处失败,因为此应用程序中使用的api具有仅适用于winform应用程序的引用.我已经使用了另一个参考自动更新简单自动更新,自动补丁,用于WPF应用程序,没有更新程序块,这似乎不适合我的需要.我很想知道当有如此多的限制时,如何将我们下载的.exe放在程序文件中.对于更新以前的.exe我使用了以下代码段
private void UpdateApplication(string tempFilePath, string currentPath, string newPath, string launchArgs)
{
string argument = "/C choice /C Y /N /D Y /T 4 & Del /F /Q \"{0}\" & choice /C Y /N /D Y /T 2 & Move /Y \"{1}\" \"{2}\" & Start \"\" /D \"{3}\" \"{4}\" {5}";
ProcessStartInfo Info = new ProcessStartInfo();
Info.Arguments = String.Format(argument, currentPath, tempFilePath, newPath, Path.GetDirectoryName(newPath), Path.GetFileName(newPath), launchArgs);
Info.WindowStyle = ProcessWindowStyle.Hidden;
Info.CreateNoWindow = true;
Info.FileName = "cmd.exe"; …Run Code Online (Sandbox Code Playgroud) 我想将3.5中创建的软件版本与旧版本进行比较.如果我尝试比较4.0中的版本,那么使用它很容易,Version.Parse但在早期版本中,这个设施不存在.我试图通过使用字符串比较来比较它,但仍然无法获得所需的输出,因为字符串比较不允许我与次要版本或主要版本进行比较.提前致谢.
我想为我的WPF应用程序提供一个自定义命令,所以我可以从命令提示符启动它,不要写它的名字,而是编写像calc或appwiz.cpl这样的特定命令.我已经搜索谷歌相同,但它错了,因为几乎概念是命令行参数,但我不是在寻找相同的.是否有可能从命令行或运行实用程序启动自定义应用程序.提前致谢.
我在使用C#中的字典上的linq创建在线考试门户时遇到了问题.我关心的是获得在线考试类别,SubCategory.我向数据库服务器发出请求以获取我的数据.现在我的数据在前端可用,但我试图以方便的方式获取记录,以便我可以在Category,Subcategory和问题中划分我的数据.例如,我希望我的标题和类别如下: -
基本知识
数学
但是使用下面给出的代码,我的结果正在显示
基本知识
根据每个子类别的问题数量重复这一过程.
我正在使用的代码是
public ActionResult getOnlineTestTitle()
{
List<GopreadyOnlineTest> search;
if (Session["OnlineTest"] == null)
{
search= GopreadyOnlineTest.Search(WebConfigurationManager.ConnectionStrings["liveData"].ConnectionString).ToList();
Session["OnlineTest"] = search;
}
else
{
search = (List<GopreadyOnlineTest>)Session["OnlineTest"];
}
List<string> categoryName = search.Select(x => x.CategoryName).Distinct().ToList();
Dictionary<string, List<GopreadyOnlineTest>> result2 = new Dictionary<string, List<GopreadyOnlineTest>>();
foreach (string item in categoryName)
{
result2.Add(item, search.Where(s => s.CategoryName.ToUpper() == item.ToUpper()).ToList());
}
return Json(result2, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
这是我的proc,它将数据返回给我.
alter proc Quiz_SEARCH
(
@CategoryName varchar(200) = null, …Run Code Online (Sandbox Code Playgroud) 我想实现一个容器,其中包含可滚动的列表项目我正在使用图像设置换行面板的背景,但此图像根据换行面板的项目进行拉伸.我想修复背景,以便内容可以滚动,但不会拉伸背景图像.我使用以下代码.
<ScrollViewer x:Name="imageScrollViewer" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<WrapPanel x:Name="panel" Orientation="Horizontal" >
<WrapPanel.Background>
<VisualBrush>
<VisualBrush.Visual>
<Image Name="pnlBackground">
<Image.OpacityMask>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5" >
<GradientStop Offset="0.0" Color="#00000000" />
<GradientStop Offset="1.0" Color="#FF000000" />
</LinearGradientBrush>
</Image.OpacityMask>
</Image>
</VisualBrush.Visual>
</VisualBrush>
</WrapPanel.Background>
<ListBox
Margin="5"
SelectionMode="Extended"
ItemsSource="{Binding}"
SelectedIndex="0"
d:IsHidden="True">
</ListBox>
</WrapPanel>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)