我想一个动画Button的Background鼠标是否过Button.
该Button的Background必然,我在代码中创建的背后,一个自定义的依赖项属性我UserControl
... Background="{Binding BGColor, Elementname="QButton"}"
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试使用按钮的背景动画
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation To="LightBlue"
Duration="0:0:2"
Storyboard.TargetProperty="Background.Color"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说:
无法为不可变属性(或类似属性)设置动画.
我该如何解决这个问题?
我想创建一个UserControl(在这种情况下是一个带有已定义Backgroundcolors的方形按钮),它可以托管它自己的内容.
用户控件:
<UserControl x:Class="SGDB.UI.Controls.ModernButton"
xmlns:local="clr-namespace:SGDB.UI.Controls"
xmlns:converter="clr-namespace:SGDB.UI.Converter"
x:Name="_modernButton">
<Button>
<Button.Resources>
<converter:EnumToColorConverter x:Key="ColorConverter"/>
</Button.Resources>
<Button.Template>
<ControlTemplate>
<Border Width="{Binding Size, ElementName=_modernButton}" Height="{Binding Size, ElementName=_modernButton}" BorderBrush="Black" BorderThickness="0.8,0.8,3,3">
<Grid Background="{Binding BackgroundColor, ElementName=_modernButton, Converter={StaticResource ColorConverter}}">
<ContentPresenter/>
</Grid>
</Border>
</ControlTemplate>
</Button.Template>
</Button>
Run Code Online (Sandbox Code Playgroud)
现在,正如您所期望的那样,如果我在MainView中使用此控件,那么在我定义一些内容之前就可以正常工作.
使用:
<control:ModernButton Size="200" BackgroundColor="Light">
TEST
</control:ModernButton>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,"TEST"将覆盖UserControl的整个内容(整个按钮模板).我想这是因为UserControl中的Button被定义为"Content"本身,并且在定义新内容时会被覆盖.
所以最后一个问题是:有可能实现我正在寻找的东西吗?如果是的话:怎么样?我怎样才能将我在MainView中定义的内容"重定向"到我的Button模板中的自定义ContentPresenter而不是UserControls的ContentPresenter?
如果可能的话,我不想创建一个托管我的内容的新dp-propery,例如:
<controls:MordernButton Size="200" BackgroundColor="Light">
<controls:ModernButton.Content>
I don't want this, if possible
</controls:ModernButton.Content>
</controls:ModernButton>
Run Code Online (Sandbox Code Playgroud) 我下载了新的Visual Studio 2015 CTP6来测试新的XAML调试功能 - 但我找不到它们?我已经读过那些窗口应该在开始调试后立即打开但是它们没有出现 - 任何人都知道我做错了什么?
我正在尝试将共享(假设为\ server\folder)连接到我的本地设备X:
[DllImport("Mpr.dll", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern int WNetAddConnection2(
[In] NetResource lpNetResource,
string lpPassword,
string lpUsername,
int flags
);
public static bool Connect(string remoteName, string localName, bool persistent) {
if (!IsLocalPathValid(localName)) return false;
var r = new NetResource
{
dwScope = ResourceScope.RESOURCE_GLOBALNET,
dwType = ResourceType.RESOURCETYPE_ANY,
dwDisplayType = ResourceDisplayType.RESOURCEDISPLAYTYPE_SHARE,
dwUsage = ResourceUsage.RESOURCEUSAGE_CONNECTABLE,
lpRemoteName = remoteName,
lpLocalName = localName
};
return WNetAddConnection2(r, null, null, persistent ? 1 : 0) == 0;
}
[StructLayout(LayoutKind.Sequential)]
public class NetResource { …Run Code Online (Sandbox Code Playgroud) 起初我对网络开发非常新.我正在尝试开发一个由单个页面组成的Web应用程序(我从一个试图遵循mvc模式的空项目开始).
要填充我的视图,我将ViewModel通过我的HomeController传递到我的"Home"视图.
现在我想根据DropDown选择更改一些Label-Texts.
视图模型:
public IEnumerable<Models.Language> AvailableLanguages;
public Models.Language SelectedLanguage
Public IEnumerable<Models.Text> Content;
Run Code Online (Sandbox Code Playgroud)
语言:
public int ID;
public string LanguageText;
Run Code Online (Sandbox Code Playgroud)
文本:
public Language Language;
public string Description;
Run Code Online (Sandbox Code Playgroud)
HTML:@model ViewModels.MyViewModel
<div>
@Html.DropDownFor(x => x.AvailableLanguages,
new SelectList(Model.AvailableLanguages,
"ID",
"LanguageText",
new {@onchange= ... }))
</div>
<div>
@{
@:@Model.MyViewModel.Content
.Where(o => o.Language.Equals(Model.SelectedLanguage)
.First())
.Description
}
</div>
Run Code Online (Sandbox Code Playgroud)
我读到了一些关于这个"@onchange"属性(Ajax,JQuery)的东西 - 但说实话,如果有任何ASP/MVC/HTML解决方案可以实现我的目标,那么每次所选项目更新我的SelectedLanguage属性都会很棒下拉列表的变化.
另外:你可以推荐一个web开发教程(asp,html,ajax,jquery,js)吗?
感谢名单!
编辑
现在我尝试实现提供的代码,但似乎在更改所选项时没有任何反应......
脚本:
<div class="LanguageSelection">
@{
@Html.DropDownList("SelectedLanguage", new SelectList(Model.AvailableLanguages, "ID", "Description"))
<script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript">
var url = '@Url.Action("ChangeLanguage", "Home")';
$('#SelectedLanguage').change() {
$.getJSON(url, { …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,目前由两部分组成
幕后的逻辑包括一些项目,如存储库 - 数据访问是通过一个工作单元实现的.Viewer本身是一个带有底层ViewModel的WPF表单.
ViewModel包含一个ObservableCollection,它是我的Viewer的数据源.
现在的问题是 - 我怎么能每隔几分钟检索一次数据库数据?我知道以下两个问题:
如果需要,我会添加一些代码,但目前我认为这根本不会有所帮助.
编辑:
public IEnumerable<Request> GetAllUnResolvedRequests() {
return AccessContext.Requests.Where(o => !o.IsResolved);
}
Run Code Online (Sandbox Code Playgroud)
这段代码将无法获取最新数据 - 我手动编辑了一些行(将IsResolved设置为true),但此方法仍会检索它.
EDIT2:
EDIT3:
var requests = AccessContext.Requests.Where(o => o.Date >= fromDate && o.Date <= toDate).ToList();
foreach (var request in requests) {
AccessContext.Entry(request).Reload();
}
return requests;
Run Code Online (Sandbox Code Playgroud)
最后的问题: 上面的代码"解决"了问题 - 但在我看来它并不干净.还有另外一种方法吗?
是否有可能将授权属性的结果移交给视图?
假设我想根据用户的成员资格在我的索引视图中隐藏 5 个链接。
[Authorize(Roles = "Admin")]
public ActionResult Index(){
....
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将阻止所有不属于 Admin-Group 的用户访问 Index 页面。
@{
if(User.IsInRole("Admin"){
<a href="#">Some link to be hidden</a>
}
}
Run Code Online (Sandbox Code Playgroud)
如果用户不是管理员角色的一部分,此代码将隐藏链接。这基本上是我想要的,但是使用这种方法,如果角色发生变化,我必须更改每个隐藏链接上的角色名称。
不是有类似两者结合的东西吗?(架构见下文)
[Authorize(Roles = "Admin")] //This will pass true to the View if the User is a member of the group "Admin"
public ActionResult Index(){
....
}
@{
if(User.IsAuthenticated){ //This will read the "Token" and if it's true the if statement will get executed.
<a href="#">Some link to be hidden</a>
}
}
Run Code Online (Sandbox Code Playgroud)
所以 …
我想让"this"引用实际触发事件的元素:
<div class="input-group">
<span class="input-group-addon header-text" id="action-header-text">Action</span>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="action-dropdown" data-toggle="dropdown" aria-expanded="true" style="min-width:250px;">
<span class=" caret">
</span>
</button>
<ul id="action-menu" class="dropdown-menu" role="menu"></ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
填写Ajax请求:
function UpdateActionDropdown() {
$.ajax({
url: 'FrontEnd/Action',
type: 'POST',
dataType: 'json',
data: {
lid: document.getElementById('selected-language-id').value
},
success: function (data) {
document.getElementById('action-dropdown').firstChild.data = data.UnSelectable[0].ActionTrailer.DescriptionText;
$('#action-menu').html(null);
for (var i = 0; i < data.UnSelectable.length; i++) {
$('#action-menu').append("<li role='presentation' class='disabled'><a role='menuitem' tabindex='-1'>" + data.UnSelectable[i].ActionTrailer.DescriptionText + "</a></li>")
}
$('#action-menu').append("<li role='presentation' class='divider'></li>");
for (var i = …Run Code Online (Sandbox Code Playgroud) c# ×6
wpf ×4
asp.net-mvc ×3
html ×2
xaml ×2
ajax ×1
animation ×1
asp.net ×1
collections ×1
javascript ×1
jquery ×1
lazy-loading ×1
onchange ×1
share ×1
viewmodel ×1
wnet ×1