我想从代码Behind中删除属性背景。 这是我的Xaml代码 -
def jobwise_plotter(prog_no):
df = single_df[single_df['PRG_NO']==prog_no]
#fig1 = plt.figure()
#jobs_list = list(df['Job_no'].unique())
#tools_list = list(df['TOOL_No.'].unique())
for job in list(df['Job_no'].unique()):
df_temp = df[df['Job_no']==job]
time_axis_max = 0
for tool in list(df_temp['TOOL_No.'].unique()):
plt.plot(df_temp['Time'][df_temp['TOOL_No.']==tool],
df_temp['Spindle'][df_temp['TOOL_No.']==tool], label=str(tool))
if int(df_temp['Time'][df_temp['TOOL_No.']==tool].max()) > time_axis_max:
time_axis_max = int(df_temp['Time'][df_temp['TOOL_No.']==tool].max())
plt.title("Prog No. : "+ str(prog_no) + ", Job no : "+ str(job) + ", All Tools")
plt.xlabel("Time (in ms.)")
plt.ylabel("Spindle Load")
name = "prog_"+str(prog_no)+"_"+"JOB_"+str(job)+"_All_tools"
plt.xticks(np.arange(0, time_axis_max+10000, 5000))
plt.grid(linewidth = 2, linestyle = '-', color='#eff3f9')
lgd = plt.legend(loc='upper center', bbox_to_anchor=(0.5, 0.98), ncol=10)
plt.tight_layout()
fig1 = plt.gcf()
fig1.set_size_inches(100, 10)
#fig1 = plt.gcf()
print(name)
fig1.savefig(name, dpi=500, bbox_extra_artists=(lgd,))
plt.show()
和Xml.cs
<Button Name="btnBack" Width="50" Height="50"></Button>
但是在一些操作之后我想用值删除这个属性 所以我的按钮应该是原来的颜色和&#34;红色&#34;应该删除。
任何人都可以帮助我吗?
答案 0 :(得分:5)
通过调用DependencyObject.ClearValue:
将属性重置为默认值btnBack.ClearValue(Control.BackgroundProperty);
这会清除所谓的本地值(例如直接或通过Binding设置的任何值),但保留Style设置的任何潜在值。
答案 1 :(得分:1)
您还可以将依赖项属性的值设置为UnsetValue
:
btnBack.SetValue(TextBlock.BackgroundProperty, DependencyProperty.UnsetValue);
它不如@Clemens answer那么好,但它似乎有用,可以在?:
的一个班轮中使用,以设置或清除值。
答案 2 :(得分:-1)
// first store its original color
Brush Originalcolor = btnBack.Background;
// on some condition
btnBack.Background = Brushes.Red;
// afte some other condition
btnBack.Background = Originalcolor;